【发布时间】:2014-11-25 13:10:24
【问题描述】:
我有两个表,例如:用户和角色。用户和角色之间存在多对一关系(一个用户可以包含多个角色)
我使用 SQL 查询将数据插入到 User 表中,其中 role_id(假设角色表的 pk)作为外键。
现在,当我尝试获取具有特定角色的用户的记录时。
我正在使用以下代码来获取用户对象。
User user=(User)session.get('User.class',user_id);
Role role=user.getRole();
在执行上述行时,有时我得到了用户对象,有时没有。 对象之间的关系映射如下。
<many-to-one name="role" class="com.example.Role" fetch="select">
<column name="role_id" precision="14" scale="0" />
</many-to-one>
<set name="user" cascade="delete" table="User" >
<key>
<column name="role_id" not-null="true" />
</key>
<one-to-many class="com.example.User" />
</set>
有什么方法可以防止它发生吗? 是否有可能有时选择查询会给我输出,有时会为空。
【问题讨论】: