hibernate多表查

来源:百度知道 编辑:UC知道 时间:2024/06/21 23:51:43
一个头痛了一个星期的问题了
AnswerQuestion是PO的bean
sql的内连接在查询分析器里测过 是正确的
就是这里 死都有问题

多表查需注意什么啊? 还有什么好的其他的方法也行?
//多表查
public AnswerQuestion findAnsQues(java.lang.Integer id) {
try {
String findAnsQues = "select Q.questionId,Q.username,Q.sort,Q.questionTitle,Q.depict,Q.questionTimes,A.questionId,A.doctorname,A.content,A.answerTimes from questionInfo as Q inner join answerInfo as A on Q.questionId=A.questionId ";
System.out.println("shajindan" + findAnsQues);
List<AnswerQuestion> instance=getHibernateTemplate().find(findAnsQues);
System.out.println("青蛙大的期望定时炸弹三大大时代");
return (AnswerQuestion) instance;
} catch (RuntimeException re) {
throw re;
}
}

总是getHibernateTemplate().find地方出现问题错误

1。在hibernate配置文件中,设置default_batch_fetch_size 的值为3
jdbc.batch_size的值为3
将questioninfo的mappinp文件中设置对answerinfo的fetch=join

2。查询主表对象,利用java的pojo查询关联对象

第二种方式较好

HQL和SQL不一样
String findAnsQues = "select Q.questionId,Q.username,Q.sort,Q.questionTitle,Q.depict,Q.questionTimes,A.questionId,A.doctorname,A.content,A.answerTimes from questionInfo as Q , answerInfo as A where Q.questionId=A.questionId "

把错误贴上来看看。