Home
JavaEE
Java GUI
Framework
DHtml
Android
插画
留言本
  • 用window.location在struts中取得的referer值为null
  • 用Axis为同事提供一个简单的WebService作测试
  • Hibernate双主键的设置例子
  • Hibernate基于链接表的多对多many-to-many双向关联例子
  • 收到利用skype骗人的消息
  • 又发现一条hql没法实现的sql
  • 项目用Struts和Hibernate时要注意的一个问题
  • Spring声明式事务管理简单配置例子
  • Spring声明式事务管理介绍1
  • Spring声明式事务管理介绍2
  • 在客户端IE中使用jasperView,客户端显示JasperViewer
  • jspsmartupload取得参数的值是乱码的问题
  • 客户端显示JasperViewer并在Jasperview的applet中加超链接
  • Hibernate基于链接表的多对多many-to-many双向关联例子
  • Hibernate双主键的设置例子
  • Hibernate中的properties和formula的用法
  • Android中,Drawable接口及其子类的使用方法
  • Android中用Bitmap获取图片中某个区域的图象
  • Android中AnimationDrawable实现简单动画的例子
  • Animation与Interpolator及AnimationSet的用法
Hibernate中的properties和formula的用法
posted by David Chen at May 6, 2009, 5:22 PM

如果是我设计的数据库,我是一定不会这样设计的,香港那边没技术,没不肯放权,害我对着这个落后的设计,
不知在hibernate中该如何配置xml才好,好在hibernate对这个落后的设计方法也能兼容,不然就麻烦了。
有3个表, user(u_group), student, teacher,如果是我设计,我是会用主键关联的。
User.hbm.xml
<property name="person_cd" type="java.lang.Long" column="person_cd" not-null="false" lazy="false" />
<property name="u_group" type="java.lang.String" column="u_group" not-null="true" lazy="false" />
<properties name="student">
// 这里关联student的设置,详细见下面的Student.hbm.xml
    <property name="person_cd" column="person_cd" insert="false" update="false" />
    <property name="u_group" column="u_group" insert="false" update="false" />
</properties>
<properties name="teacher">
// 这里关联teacher的设置,详细见下面的Teacher.hbm.xml
    <property name="person_cd" column="person_cd" insert="false" update="false" />
    <property name="u_group" column="u_group" insert="false" update="false" />
</properties>

Student.hbm.xml,在这里的设置是用一对一的方法,如果数据库改成用主键关联该多方便啊。
<one-to-one name="user" property-ref="student" class="exercise.model.User" cascade="none">
    <formula>student_cd</formula> //通过formula识别user表中每条记录的类型
    <formula>'S'</formula>
</one-to-one>

Teacher.hbm.xml,同Student,看上面的说明
<one-to-one name="user" property-ref="teacher" class="exercise.model.User" cascade="none">
    <formula>teacher_cd</formula>
    <formula>''T'</formula>
</one-to-one>

hql:
from Student where user.xx =?
Properties 是將某個表中的多個column分組,在鏈接表可以通過 formula進行過濾性取得數據。
在user.hbm.xml是定義了student組是有兩個屬性person_cd和u_group,那麼在student表對user進行map的時候,
必須要兩個formula且按順序對應。
Labels:   Java    Hibernate    Framework  
Trackback:   http://cwq.iou1314.com/hibernate-properties-formula_a25
本站内的任何文章,只代表个人意见或学习所用,如有版权声明,请尊重作者的劳动成果,在转载时请保留原始链接并注明出处。
© 2007 - 2010 CWQ.IOU1314.COM All Rights Reserved.