<hibernate-mapping package="com.bjsxt.drp.business.itemmgr.model">

       <class name="DataDict" table="t_data_dict">

              <id name="id">

                     <generator class="assigned"/>

              </id>

              <discriminator column="category" type="string"/>

              <property name="name" not-null="true"/>

              <subclass name="ItemCategory" discriminator-value="item_category"/>

              <subclass name="ItemUnit" discriminator-value="item_unit"/>

       </class>

</hibernate-mapping>

 

<hibernate-mapping package="com.bjsxt.drp.business.itemmgr.model">

       <class name="Item" table="t_items">

              <id name="itemNo">

                     <generator class="assigned"/>

              </id>

              <property name="itemName" not-null="true"/>

              <property name="spec"/>

              <property name="pattern"/>

              <many-to-one name="category"/>

              <many-to-one name="unit"/>

       </class>

</hibernate-mapping>

 

Hibernate最佳实践

1. 使用Configuration装载映射文件时,不要使用绝对路径装载,最好的方式是通过getResourceAsStream()装载映射文件,这样Hibernate会从classpath中寻找已配置的映射文件。

2. SessionFactory的创建非常消耗资源,整个应用一般只要一个SessionFactory就够了,只有多个数据库的时候才会使用多个SessionFactory.

3. 在整个应用中,Session和事务应该能够统一管理。

4. 将所有的集合属性诶智设置为懒加载。

5. 关联关系,首先Set

6. 一对多使用双向

7. HQL子句本身大小写无关,但是其中出现的类名和属性名必须注意大小写区分

8. 非分布式架构中,不需要使用DTO来向上层传输数据,直接使用POJOEntity就可以了。

9. 如果要精通Hibernate,熟练掌握关系数据库理论和SQL是前提条件。

posted on 2009-05-13 22:27  IT Person  阅读(284)  评论(0编辑  收藏  举报