使用Hibernate 3.1并且有两个映射文件m_devotee和m_member,它们具有类M_devotee和M_member。我想避免m_devotee列中的重复条目devotee_id在m_member表中被引用为devotee_id外键。防止外键列中出现重复元素
我是Hibernate的新手,想知道我是否在映射中缺少一些标记。
这里是我的文件,https://gist.github.com/2e2560e7a04a769848a4
现在,我试图阻止重复在吾道文件中添加代码。它给了我一个ClassCastException。它还应该回滚事务并将false返回给servlet,以便它不会将其转发给其他jsp文件。
Query qr1=session.createQuery("select m.devotee_id from M_member m");
List<M_member> l1=qr1.list();
for(M_member mi:l1)
{
if(!(l1.contains(member.getDevotee_id())))
{
member.setDevotee_id(member.getDevotee_id());
//System.out.println("print devotee id"+member.getDevotee_id());
}
}
M_devotee对象不能转换为M_member,如此处所示。
我迷路了,任何帮助都非常感谢!
将您的外键标记在唯一的映射中,或者在必要时使用自然标识或复合标识。 – djmj 2012-07-19 01:56:50