hibernate一对多配置文件的写法

来源:互联网 发布:软件许可协议 英文 编辑:程序博客网 时间:2024/06/06 01:12

1.***************一的一方(customer)**********************************

<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE hibernate-mapping PUBLIC     "-//Hibernate/Hibernate Mapping DTD 3.0//EN"    "http://www.hibernate.org/dtd/hibernate-mapping-3.0.dtd"><hibernate-mapping><!--name:类全名,table:表的名称,catalog:数据库名称--><class name="hibernate_oneToMany.Customer" table="t_customer" catalog="exam"><!--id描述主键--><id name="id" column="c_id" length="11"><!--主键生成策略--> <generator class="identity"></generator> </id><!--使用property描述属性与字段的对应关系--><property name="name" column="c_name" length="20"></property><!--一个客户关联多个订单--><set name="orders" inverse="true" cascade="all"><!--inverse表示放弃维护,只在双向关联下有用--><key column="c_customer_id"></key><one-to-many class="hibernate_oneToMany.Order"/><!--使用set描述在一的一方关联的多   Set<Order> name属性指的就是set集合名称,key:描述的是多的一方产生的外键名称,要与多的一方定义的外键名称相同--></set><!--测试一对两个多,已成功--><set name="books" inverse="true" cascade="all"><key column="c_customer_book_id"></key><one-to-many class="hibernate_oneToMany.Book"/></set></class></hibernate-mapping>
2.***************多的一方(order)*******************

<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE hibernate-mapping PUBLIC     "-//Hibernate/Hibernate Mapping DTD 3.0//EN"    "http://www.hibernate.org/dtd/hibernate-mapping-3.0.dtd"><hibernate-mapping><!--name:类全名,table:表的名称,catalog:数据库名称--><class name="hibernate_oneToMany.Order" table="t_order" catalog="exam"><!--id描述主键--><id name="id" column="o_id" length="11"><!--主键生成策略--><generator class="identity"></generator> </id><!--使用property描述属性与字段的对应关系--><property name="money" column="o_money"></property><property name="address" column="o_address" length="50"></property><!--多对一--><many-to-one name="customer" cascade="save-update" class="hibernate_oneToMany.Customer" column="c_customer_id"></many-to-one><!--  save-updatename属性描述的是Order中的一方的属性Customer customer,class属性代表的是一方的属性,column描述的是一对多,在多的一方产生外键名称,cascade:级联操作,表示在保存这一方的时候也对另一方进行了操作--></class></hibernate-mapping>
3.***********多的一方(book)***************
<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE hibernate-mapping PUBLIC     "-//Hibernate/Hibernate Mapping DTD 3.0//EN"    "http://www.hibernate.org/dtd/hibernate-mapping-3.0.dtd"><hibernate-mapping><!--name:类全名,table:表的名称,catalog:数据库名称--><class name="hibernate_oneToMany.Book" table="t_book" catalog="exam"><!--id描述主键--><id name="id" column="b_id" length="11"><!--主键生成策略--><generator class="identity"></generator> </id><!--使用property描述属性与字段的对应关系--><property name="name" column="b_name"></property><!--多对一--><many-to-one name="customer" cascade="save-update" class="hibernate_oneToMany.Customer" column="c_customer_book_id"></many-to-one></class></hibernate-mapping>

4.***********hibernate配置文件(仅供参考)********************

<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE hibernate-configuration PUBLIC"-//Hibernate/Hibernate Configuration DTD 3.0//EN""http://www.hibernate.org/dtd/hibernate-configuration-3.0.dtd"><hibernate-configuration><session-factory><!--配置数据库连接的四个项--><property name="hibernate.connection.driver_class">com.mysql.jdbc.Driver</property><property name="hibernate.connection.url">jdbc:mysql:///exam</property><property name="hibernate.connection.username">root</property><property name="hibernate.connection.password">123456</property><!-- 设置连接提供者 --><property name="hibernate.connection.provider_class">org.hibernate.connection.C3P0ConnectionProvider</property><!-- c3p0连接池的配置 --><property name="hibernate.c3p0.max_size">20</property> <!-- 最大连接池 --><property name="hibernate.c3p0.min_size">5</property> <!-- 最小连接数 --><property name="hibernate.c3p0.timeout">120</property> <!-- 超时 --><property name="hibernate.c3p0.idle_test_period">3000</property> <!-- 空闲连接 --><!--将向数据库发送的sql显示出来--><property name="hibernate.show_sql">true</property><!--格式化sql--><property name="hibernate.format_sql">true</property><!--自动创建表--><property name="hibernate.hbm2ddl.auto">update</property><!--hibernate方言--><property name="hibernate.dialect">org.hibernate.dialect.MySQLDialect</property><!--配置hibernate的映射文件所在位置--><mapping resource="domain/User.hbm.xml"/><mapping resource="domain/Product.hbm.xml"/><!--一对多--><mapping resource="hibernate_oneToMany/Customer.hbm.xml"/><mapping resource="hibernate_oneToMany/Order.hbm.xml"/><mapping resource="hibernate_oneToMany/Book.hbm.xml"/></session-factory></hibernate-configuration>




原创粉丝点击