首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > JAVA > Java Web开发 >

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

2012-05-15 
Hibernate高手速度进....我的Person类中有个Address类的属性,如何写hibernate的HQL语句,要求HQL语句返回所

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

热点排行