public String onPrepareStatement(String arg0) {
return arg0;
}
public boolean onSave(Object arg0, Serializable arg1, Object[] arg2,
String[] arg3, Type[] arg4) throws CallbackException {
if (arg0 instanceof User) {
System.out.println("User to be saved=>"+((User)arg0).getName());
}
return false;
}
public boolean onSave(Object arg0, Serializable arg1, Object[] arg2,
String[] arg3, Type[] arg4) throws CallbackException {
if (arg0 instanceof User) {
System.out.println("User to be saved=>"+((User)arg0).getName());
}
//我们在这里添加123作为名字的前缀
User user = (User)arg0;
user.setName("123"+user.getName());
return false;
}
public static void main(String[] args) {
Configuration cfg = new Configuration().configure();
SessionFactory sessionFactory = cfg.buildSessionFactory();
Interceptor interceptor = new MyInteceptor();
Session session = sessionFactory.openSession(interceptor);
User user = new User();
user.setName("shun");
Transaction tx = session.beginTransaction();
session.save(user);
tx.commit();
session.close();
}
User to be saved=>shun Hibernate: insert into USER (USER_NAME, age) values (?, ?) Hibernate: update USER set USER_NAME=?, age=? where USER_ID=?
public boolean onLoad(Object arg0, Serializable arg1, Object[] arg2,
String[] arg3, Type[] arg4) throws CallbackException {
if (arg0 instanceof User) {
System.out.println("User to be loaded=>"+(arg2[0]+":"+arg2[1]));
}
User user = (User)arg0;
//判断哪个属性是name
for (int i = 0; i < arg3.length; i ++){
if (arg3[i].equals("name")){
user.setName(((String)arg2[i]).replace("123",""));
arg2[i] = ((String)arg2[i]).replace("123","");
}
}
return false;
}
arg2[i] = ((String)arg2[i]).replace("123","");
public static void main(String[] args) {
Configuration cfg = new Configuration().configure();
SessionFactory sessionFactory = cfg.buildSessionFactory();
Interceptor interceptor = new MyInteceptor();
Session session = sessionFactory.openSession(interceptor);
User user = (User)session.load(User.class,new Long(39));
System.out.println("User name:"+user.getName());
session.close();
}
Hibernate: select user0_.USER_ID as USER1_0_0_, user0_.USER_NAME as USER2_0_0_, user0_.age as age0_0_ from USER user0_ where user0_.USER_ID=? User to be loaded=>123shun:0 User name:shun
public static void main(String[] args) {
String s1 = "shun1";
String s2 = "shun1";
System.out.println("s1==s2:"+(s1==s2));
}
<class name="TUser" table="t_user" dynamic-insert="true" dynamic-update="true">
<id name="id" column="id">
<generator class="native" />
</id>
<property name="name" type="java.lang.String" column="name"/>
<property name="age" type="java.lang.Integer" column="age"/>
<set name="addresses" cascade="all" table="t_address">
<key column="user_id" />
<!-- <one-to-many class="Address"/> -->
<element column="address" type="string" />
</set>
</class>
<class name="Address" table="t_address" dynamic-insert="false" dynamic-update="false">
<id name="id" column="id" type="java.lang.Integer">
<generator class="native" />
</id>
<property name="address" column="address" type="java.lang.String" />
<many-to-one name="user" class="TUser"
column="user_id" not-null="true"></many-to-one>
</class>
public static void main(String[] args) {
Configuration cfg = new Configuration().configure();
SessionFactory sessionFactory = cfg.buildSessionFactory();
Session session = sessionFactory.openSession();
TUser user = (TUser)session.load(TUser.class,new Integer(4));
Set set = user.getAddresses();
session.close();
System.out.println("address size:"+set.size());
}
address size:1
TUser user = (TUser)session.load(TUser.class,new Integer(4));
Transaction tx = session.beginTransaction();
Object obj = user.getAddresses().iterator().next();
user.getAddresses().remove(obj);
tx.commit();
session.close();
Hibernate: delete from t_address where user_id=?
<bag name="addresses" lazy="true" table="t_address"> <key column="user_id" /> <element type="string" column="address" /> </bag>
public static void main(String[] args) {
Configuration cfg = new Configuration().configure();
SessionFactory sessionFactory = cfg.buildSessionFactory();
Session session = sessionFactory.openSession();
TUser user = (TUser)session.load(TUser.class,new Integer(4));
System.out.println("address size:"+user.getAddresses().size());
session.close();
}
address size:3
idbag name="addresses" table="t_address" lazy="true">
<collection-id type="int" column="id">
<generator class="identity" />
</collection-id>
<key column="user_id" />
<element type="string" column="address" />
</idbag>
TUser user = (TUser)session.load(TUser.class,new Integer(4));
Transaction tx = session.beginTransaction();
Object obj = user.getAddresses().iterator().next();
user.getAddresses().remove(obj);
tx.commit();
Hibernate: delete from t_address where id=?
<map name="addresses" table="t_address" lazy="true"> <key column="user_id" /> <index type="string" column="type" /> <element type="string" column="address" /> </map>
TUser user = (TUser)session.load(TUser.class,new Integer(4));
System.out.println(user.getAddresses().get("home"));
System.out.println(user.getAddresses().get("office"));
ShanWei ShangHai
<list name="addresses" table="t_address" lazy="true"> <key column="user_id" /> <index type="string" column="idx" /> <element type="string" column="address" /> </list>
TUser user = (TUser)session.load(TUser.class,new Integer(4));
Transaction tx = session.beginTransaction();
Object obj1 = user.getAddresses().get(0);
Object obj2 = user.getAddresses().get(2);
user.getAddresses().set(0,obj2);
user.getAddresses().set(2,obj1);
tx.commit();
机械节能产品生产企业官网模板...
大气智能家居家具装修装饰类企业通用网站模板...
礼品公司网站模板
宽屏简约大气婚纱摄影影楼模板...
蓝白WAP手机综合医院类整站源码(独立后台)...苏ICP备2024110244号-2 苏公网安备32050702011978号 增值电信业务经营许可证编号:苏B2-20251499 | Copyright 2018 - 2025 源码网商城 (www.ymwmall.com) 版权所有