Hibernate:POJO中的HashSet对象在会话后更改为PersistentSet.saveOrUpdate()
我有一个简单的hibernate1到M代码。保存Employee对象时,Employee POJO中的子对象在保存之前是java.util.HashSet,在session.saveOrUpdate之后变成org.hibernate.collection.PersistentSetHibernate:POJO中的HashSet对象在会话后更改为PersistentSet.saveOrUpdate(),hibernate,Hibernate,我有一个简单的hibernate1到M代码。保存Employee对象时,Employee POJO中的子对象在保存之前是java.util.HashSet,在session.saveOrUpdate之后变成org.hibernate.collection.PersistentSet private static void addEmployee() { System.out.println("Entering addEmployee **********"); Session s
private static void addEmployee() {
System.out.println("Entering addEmployee **********");
Session session = HibernateSessionUtil.getSession("test/hibernate.cfg.xml");
Employee1toM employee1toM = new Employee1toM();
employee1toM.setEmployeeFirstName("Jitendra");
employee1toM.setEmployeeLastName("Patil");
EmployeeAddress1toM employeeAddress1toM = new EmployeeAddress1toM();
employeeAddress1toM.setEmployeeArea("ABC");
employeeAddress1toM.setEmployeeCity("DEF");
employeeAddress1toM.setEmployeeState("IJK");
employeeAddress1toM.setEmployee1toM(employee1toM);
employee1toM.getEmployeeAddress1toM().add(employeeAddress1toM);
System.out.println(employee1toM.getEmployeeAddress1toM().getClass().getName());
// prints java.util.HashSet
Transaction txn = session.beginTransaction();
session.saveOrUpdate(employee1toM);
txn.commit();
System.out.println(employee1toM.getEmployeeAddress1toM().getClass().getName());
// prints org.hibernate.collection.PersistentSet
System.out.println("Leaving addEmployee **********");
}
OutPut:
Entering addEmployee **********
java.util.HashSet
Hibernate: insert into Employee1toM (EMPLOYEE_FIRSTNAME, EMPLOYEE_LASTNAME) values (?, ?)
Hibernate: insert into EmployeeAddress1toM (EMPLOYEE_AREA, EMPLOYEE_CITY, EMPLOYEE_STATE, EMPLOYEE_ID) values (?, ?, ?, ?)
org.hibernate.collection.PersistentSet
Leaving addEmployee **********
配置和POJO都很简单,所以我不分享它。请帮助我理解如何停止HashSet到PersistentSet类型的自动转换