Java,hibernate谁写个hql(sqlserver2005的多表连接查询语句)
Selectp.id,p.name,e.emailfromtb_personaspjointb_emailaseonp.id=e.person_id其中tb_person...
Select p.id,p.name,e.email from tb_person as p join tb_email as e on p.id = e.person_id 其中tb_person对应的实体类是Person,tb_email对应的实体类是Email.急啊,谢谢
展开
展开全部
hql : session.createSQLQuery("Select p.id,p.name,e.email from tb_person as p join tb_email as e on p.id = e.person_id 其中tb_person"); //得到的是 list
或者 利用 hibernatequery
session.createQuery(from Email); //也可
【关键是 hbm.xml 映射文件你配好了没,如果这个配好了 对应关系 直接取即可】 不会配的话 可以问我
或者 利用 hibernatequery
session.createQuery(from Email); //也可
【关键是 hbm.xml 映射文件你配好了没,如果这个配好了 对应关系 直接取即可】 不会配的话 可以问我
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
一般有关联的两个表中间都会有一个做为关联表的。
我公司现在的左连接查询都这样,而你这应该可以这样
1.在JAVA类Person里添加关联Email对像
Set personEmail= new HashSet();
public Set getPersonEmail() {
return personEmail;
}
public void setPersonEmail(Set personEmail) {
this.personEmail= personEmail;
}
2.在Person.hbm.xml配置文件里设置
<set name="personEmail" inverse="true">
<key>
<column name="userid" precision="22" scale="0" not-null="true" />
</key>
<one-to-many class=".......PersonEmail"/>
</set>
(前提Person和Email中间有一个关联表personEmail,表里放一个序列ID和两个关联对像ID就可以了,而实体类里就变成两个关联对像)
3.HQL
from Person p left join fetch p.email
我公司现在的左连接查询都这样,而你这应该可以这样
1.在JAVA类Person里添加关联Email对像
Set personEmail= new HashSet();
public Set getPersonEmail() {
return personEmail;
}
public void setPersonEmail(Set personEmail) {
this.personEmail= personEmail;
}
2.在Person.hbm.xml配置文件里设置
<set name="personEmail" inverse="true">
<key>
<column name="userid" precision="22" scale="0" not-null="true" />
</key>
<one-to-many class=".......PersonEmail"/>
</set>
(前提Person和Email中间有一个关联表personEmail,表里放一个序列ID和两个关联对像ID就可以了,而实体类里就变成两个关联对像)
3.HQL
from Person p left join fetch p.email
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
select p.id,p.name,e.email from Person p join Email e where p.id = e.person_id;
hql 语句中的 tb_person (数据表) 应该换成 对应的实体类名,属性应该换成类中的成员属性而不是数据表中的字段.
hql 语句中的 tb_person (数据表) 应该换成 对应的实体类名,属性应该换成类中的成员属性而不是数据表中的字段.
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
Select p.id,p.name,e.email from Person as p join Email as e on p.id = e.person_id
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询