Java 对四个表的Hibernate查询
我有三张桌子Java 对四个表的Hibernate查询,java,hibernate,Java,Hibernate,我有三张桌子 问题(forumId为FK) 回答(问题ID为FK) 论坛 论坛成员(forumId作为FK) 可以有多个论坛,所以我想添加一个方法,返回给定论坛中某个成员的所有答案 我不知道我能做什么hibernate查询。 为了将答案列表绑定到给定的成员,我执行以下操作 return HibernateUtil.query(Answer.class,"authorId",member.getId()); 如何才能从给定论坛的成员那里获得答案列表。您对表格考虑得太多,而对对象考虑得不够。H
- 问题(forumId为FK)
- 回答(问题ID为FK)
- 论坛
- 论坛成员(forumId作为FK)
return HibernateUtil.query(Answer.class,"authorId",member.getId());
如何才能从给定论坛的成员那里获得答案列表。您对表格考虑得太多,而对对象考虑得不够。Hibernate是一个对象关系映射工具 我在这里看到四个物体:
public List<Answer> getMemberAnswers(Forum forum, Member member) {
return getSession().createQuery(
"select f.answers from Forum f " +
"join f.member m " +
"where f.id = :forumId " +
"and m.id = :memberId")
.setInteger("forumId", forum.getId())
.setInteger("memberId", member.getId())
.list();
}
公开列表getMemberAnswers(论坛、会员){
返回getSession().createQuery(
“从论坛f中选择f答案”+
“加入f.m成员”+
“其中f.id=:forumId”+
“和m.id=:memberId”)
.setInteger(“forumId”,forum.getId())
.setInteger(“memberId”,member.getId())
.list();
}