Hibernate中left join fetch如何添加查询条件 20
在hibernate中定义Student多对一Teacher:<many-to-onename="teacher"class="Teacher"update="false...
在hibernate中定义Student 多对一 Teacher:
<many-to-one name="teacher"
class="Teacher"
update="false" insert="false">
<column name="teacher_id" />
<column name="teacher_name" />
</many-to-one>
其中id+name是teacher的主键。
现在需要在HQL中查询:
select s from Student s left join fetch s.teacher
where s.teacher.name='XYZ'
注意,这里故意用teacher的相应属性做查询(因为分区等需要),会抛异常:
org.springframework.orm.hibernate3.HibernateQueryException: could not resolve property: name of: Teacher
请问应该如何实现?不能在left join中用被join对象的属性查询吗?(不想用filter) 展开
<many-to-one name="teacher"
class="Teacher"
update="false" insert="false">
<column name="teacher_id" />
<column name="teacher_name" />
</many-to-one>
其中id+name是teacher的主键。
现在需要在HQL中查询:
select s from Student s left join fetch s.teacher
where s.teacher.name='XYZ'
注意,这里故意用teacher的相应属性做查询(因为分区等需要),会抛异常:
org.springframework.orm.hibernate3.HibernateQueryException: could not resolve property: name of: Teacher
请问应该如何实现?不能在left join中用被join对象的属性查询吗?(不想用filter) 展开
1个回答
2013-07-15
展开全部
错误是说你定义的Teacher中没有name属性,不是HQL语法什么的错
追问
有属性。所以不知道是不是join fetch不能用条件查询。
追答
语法没有问题,H都提示是没有属性了。看看定义的xml
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询