日期:2014-05-18  浏览次数:20576 次

hibernate关联查询辨别是非
两个表分别为:
表1 表名pm_log 字段:log_id log_date log_user_id
表2 表名pm_user 字段:user_id user_name user_test_id
我在映射文件 .hbm.xml中设置多对一
<many-to-one name="UserTest" column="log_user_id" 
  cascade="none"
  class="developerworks.hibernate.UserTest"
  fetch="join"
  />
使用关联查询 from PmLog as a inner join fetch a.User
默认关联条件为pm_log.log_user_id=pm_user.user_id
如果我想把关联条件改为pm_log.log_user_id=pm_user.user_test_id应该怎么样设置映射?或者还需要写些什么文件?
请高手指点迷律


------解决方案--------------------
pm_user user_id 是主键?
------解决方案--------------------
如果: user_id 是 pm_user 的主键.
那么 你用 user_test_id 作为对象的 OID 的话.
做法就同前面的是一样的。

------解决方案--------------------
引用楼主 gzf30 的帖子:
两个表分别为:
表1 表名pm_log 字段:log_id log_date log_user_id
表2 表名pm_user 字段:user_id user_name user_test_id
我在映射文件 .hbm.xml中设置多对一
<many-to-one name="UserTest" column="log_user_id"
cascade="none"
class="developerworks.hibernate.UserTest"
fetch="join"
/>
使用关联查询 from PmLog as a inner join fetch a.User
默认关联条件为pm_log.log_user_id=pm_user.user_id
如果…

------解决方案--------------------
学习中....