当前位置: 代码迷 >> Java Web开发 >> Hibernate高手速度进.该怎么解决
  详细解决方案

Hibernate高手速度进.该怎么解决

热度:982   发布时间:2013-02-25 21:20:31.0
Hibernate高手速度进....
我的Person类中有个Address类的属性,如何写hibernate的HQL语句,要求HQL语句返回所有的Person对象,并且

Person对象里面的Address属性必须有内容。该如何做呢?(Person和Address都有对应的数据表,Person表中有

Address的主键,Person和Address是多对一的关系。)

HQL="from Person p inner join p.address" 我在hibernateTemplate.find(HQL)中是这样写的,可以么?

------解决方案--------------------------------------------------------
你不用HQL啊一样很方便啊,你返回了Person对象,调用person对象的getAddress()方法,这样Address就出来了
------解决方案--------------------------------------------------------
在Person的xml配置文件中的Address标签,设置lazy=false
这样做是禁用延时加载 查询出来的对象直接被设置好属性值了。
------解决方案--------------------------------------------------------
"from Person where 1=1" 然后可以用 person.GetAddress().getName();来调用就可以了
------解决方案--------------------------------------------------------
取出所有的person同时取得关联address信息,address可能为null
from Person p left join fetch p.address
如果只取出有address的person,并取得关联的address信息
from Person p inner join fetch p.address
  相关解决方案