package com.bjsxt.hibernate; import java.util.HashSet; import java.util.Set; public class Group { private int id; private String name; private Set<User> users = new HashSet<User>(); public int getId() { return id; } public void setId(int id) { this.id = id; } public String getName() { return name; } public void setName(String name) { this.name = name; } public Set<User> getUsers() { return users; } public void setUsers(Set<User> users) { this.users = users; } }
package com.bjsxt.hibernate; public class User { private int id; private String name; public int getId() { return id; } public void setId(int id) { this.id = id; } public String getName() { return name; } public void setName(String name) { this.name = name; } }
Group.hbm.xml <?xml version="1.0"?> <!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Mapping DTD 3.0//EN" "http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd"> <hibernate-mapping> <class name="com.bjsxt.hibernate.Group" table="t_group"> <id name="id"> <generator class="native"></generator> </id> <property name="name"></property> <set name="users"> <key column="groupId"></key> <one-to-many class="com.bjsxt.hibernate.User"/> </set> </class> </hibernate-mapping>
User.hbm.xml <?xml version="1.0"?> <!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Mapping DTD 3.0//EN" "http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd"> <hibernate-mapping> <class name="com.bjsxt.hibernate.User" table="t_user"> <id name="id"> <generator class="native"></generator> </id> <property name="name"></property> </class> </hibernate-mapping>
14:56:07,464 INFO org.hibernate.tool.hbm2ddl.SchemaExport:154 - Running hbm2ddl schema export 14:56:07,466 DEBUG org.hibernate.tool.hbm2ddl.SchemaExport:170 - import file not found: /import.sql 14:56:07,466 INFO org.hibernate.tool.hbm2ddl.SchemaExport:179 - exporting generated schema to database 14:56:07,612 DEBUG org.hibernate.tool.hbm2ddl.SchemaExport:303 - alter table t_user drop foreign key FKCB63CCB6C3D18669 14:56:07,620 DEBUG org.hibernate.tool.hbm2ddl.SchemaExport:288 - Unsuccessful: alter table t_user drop foreign key FKCB63CCB6C3D18669 14:56:07,620 DEBUG org.hibernate.tool.hbm2ddl.SchemaExport:289 - Table 'hibernate.t_user' doesn't exist 14:56:07,620 DEBUG org.hibernate.tool.hbm2ddl.SchemaExport:303 - drop table if exists t_group 14:56:07,624 DEBUG org.hibernate.tool.hbm2ddl.SchemaExport:303 - drop table if exists t_user 14:56:07,626 DEBUG org.hibernate.tool.hbm2ddl.SchemaExport:303 - create table t_group ( id integer not null auto_increment, name varchar(255), primary key (id) ) 14:56:07,731 DEBUG org.hibernate.tool.hbm2ddl.SchemaExport:303 - create table t_user ( id integer not null auto_increment, name varchar(255), groupId integer, primary key (id) ) 14:56:07,806 DEBUG org.hibernate.tool.hbm2ddl.SchemaExport:303 - alter table t_user add index FKCB63CCB6C3D18669 (groupId), add constraint FKCB63CCB6C3D18669 foreign key (groupId) references t_group (id) 14:56:07,983 INFO org.hibernate.tool.hbm2ddl.SchemaExport:196 - schema export complete