//测试代码
public void test() {
Project pro1 = new Project(1001, "pro001");
Project pro2 = new Project(1002, "pro002");
Employee emp1 = new Employee(1,"name1");
Employee emp2 = new Employee(2,"name2");
pro1.getEmployees().add(emp1);
pro1.getEmployees().add(emp2);
pro2.getEmployees().add(emp1);
session.save(pro1);
session.save(pro2);
}
//project.hbm.xml
<class name="com.baul.entity.Project" table="PROJECT">
<id name="proid" type="int">
<column name="proid" />
<generator class="assigned" />
</id>
<property name="proname" type="java.lang.String">
<column name="proname" not-null="true" />
</property>
<set name="employees" table="proemp" cascade="all">
<key column="rproid" />
<many-to-many class="com.baul.entity.Employee" column="rempid" />
</set>
</class>
//employee.hbm.xml
<class name="com.baul.entity.Employee" table="EMPLOYEE">
<id name="empid" type="int">
<column name="empid" />
<generator class="assigned" />
</id>
<property name="empname" type="java.lang.String">
<column name="empname" />
</property>
<set name="projects" table="proemp" inverse="true" >
<key column="rempid" />
<many-to-many class="com.baul.entity.Project" column="rproid" />
</set>
</class>
//控制台输出结果
INFO: HHH000037: Columns: [rproid, rempid]
二月 29, 2016 3:45:46 下午 org.hibernate.tool.hbm2ddl.TableMetadata <init>
INFO: HHH000108: Foreign keys: [fk_rproid, fk_rempid]
二月 29, 2016 3:45:46 下午 org.hibernate.tool.hbm2ddl.TableMetadata <init>
INFO: HHH000126: Indexes: [fk_rproid, fk_rempid]
二月 29, 2016 3:45:46 下午 org.hibernate.tool.hbm2ddl.SchemaUpdate execute
INFO: HHH000232: Schema update complete
Hibernate: select employee_.empid, employee_.empname as empname2_0_ from EMPLOYEE employee_ where employee_.empid=?
Hibernate: select employee_.empid, employee_.empname as empname2_0_ from EMPLOYEE employee_ where employee_.empid=?
慕粉4075985
相关分类