1.先去官网下载所需的源码、示例等。
2.导入(刚开始只需要导入必需的包,lib下require文件夹内的所有包)
3.编写与Bean同名的*.hbm.xml文件(与Bean放在同一个包下)(映射)
4.配置hibernate.cfg.xml文件。(配置数据库连接的参数)
注:3、4步中的两个文件可以在下载的文件里找到,复制到项目里修改就好。
9-26
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~2015-10-9更新~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~·
映射多对多关联关系:
例如有两个数据表Project和Employee
Project表示项目(id,name)
Employee表示雇员(id,name)
在Project的Bean中除了id和name还有一个employees集合
在Employee的Bean中除了id和name还有一个projects集合
那么在Project.hbm.xml中
应该这样写:
<?xml version="1.0"?>
<!DOCTYPE hibernate-mapping PUBLIC
"-//Hibernate/Hibernate Mapping DTD 3.0//EN"
"http://www.hibernate.org/dtd/hibernate-mapping-3.0.dtd">
<hibernate-mapping package="entity">
<class name = "Project" table = "project">
<id name = "project_id" column = "project_id">
<generator class = "assigned"/>
</id>
<property name = "project_name" column = "project_name"></property>
<set name = "employees" table = "pro_emp" cascade="all">
<key column = "rproject_id"></key>
<many-to-many class = "Employee" column="remployee_id"></many-to-many>
</set>
</class>
</hibernate-mapping>
注意:<set>标签表示Bean中的一个Set集合的映射。属性name表示集合的名字,table表示关系表的名字。cascade表示级联操作。
<key>标签表示在project表中通过pro_emp表的外键rproject_id参照employee表。
<many-to-many> 属性class表示employees的类型为Employee,column表示employee表通过pro_emp表的外键remployee参照project表。
在Employee.hbm.xml中
应该这样写:
<?xml version="1.0"?>
<!DOCTYPE hibernate-mapping PUBLIC
"-//Hibernate/Hibernate Mapping DTD 3.0//EN"
"http://www.hibernate.org/dtd/hibernate-mapping-3.0.dtd">
<hibernate-mapping package="entity">
<class name = "Employee" table = "employee">
<id name = "employee_id" column = "employee_id">
<generator class = "assigned"/>
</id>
<property name = "employee_name" column = "employee_name"></property>
<set name = "projects" table = "pro_emp" inverse="true">
<key column = "remployee_id"></key>
<many-to-many class = "Project" column="rproject_id"></many-to-many>
</set>
</class>
</hibernate-mapping>
注意:<set>中的inverse属性表示反转,即projects这个集合属性由Project来维护。