三个表:
User:
ID
UserLevelID
UserGenderIDUserLevel:
ID
NameUserGender:
ID
Name通过SQL语句根据得到User ID得到UserLevel Name和UserGender Name如下
select a.ID, b.Name, C.Name from User as a
left join UserLevel as b on a.UserLevelID = b.ID
left join UserGender as c on a.UserGenderID = c.ID请问通过HQL如何得到同样的结果? 谢谢!// user.hbm.xml:
<hibernate-mapping package="mwgalaxy.model">
<class name="User" table="usertable">
<id name="id" column="ID">
<generator class="identity"/>
</id>
<property name="ulid" column="UserLevelID" not-null="true" length="32"/>
<property name="ugid" column="UserGenderID" not-null="true" length="32"/>
</class>
</hibernate-mapping>
...
// userlevel.hbm.xml:
<hibernate-mapping package="mwgalaxy.model">
<class name="UserLevel" table="userleveltable">
<id name="id" column="ID">
<generator class="identity"/>
</id>
<property name="name" column="Name" not-null="true" length="64"/>
</class>
</hibernate-mapping>
...// XXX.java
hql = ????;
Session session = HibernateUtil.currentSession();
tx = session.beginTransaction();
Query query = session.createQuery(hql);
User:
ID
UserLevelID
UserGenderIDUserLevel:
ID
NameUserGender:
ID
Name通过SQL语句根据得到User ID得到UserLevel Name和UserGender Name如下
select a.ID, b.Name, C.Name from User as a
left join UserLevel as b on a.UserLevelID = b.ID
left join UserGender as c on a.UserGenderID = c.ID请问通过HQL如何得到同样的结果? 谢谢!// user.hbm.xml:
<hibernate-mapping package="mwgalaxy.model">
<class name="User" table="usertable">
<id name="id" column="ID">
<generator class="identity"/>
</id>
<property name="ulid" column="UserLevelID" not-null="true" length="32"/>
<property name="ugid" column="UserGenderID" not-null="true" length="32"/>
</class>
</hibernate-mapping>
...
// userlevel.hbm.xml:
<hibernate-mapping package="mwgalaxy.model">
<class name="UserLevel" table="userleveltable">
<id name="id" column="ID">
<generator class="identity"/>
</id>
<property name="name" column="Name" not-null="true" length="64"/>
</class>
</hibernate-mapping>
...// XXX.java
hql = ????;
Session session = HibernateUtil.currentSession();
tx = session.beginTransaction();
Query query = session.createQuery(hql);
解决方案 »
- xmlspy生成java文件 有人知道吗?
- <img src="*.action" load页面时没有调用到action
- 配置struts2拦截器问题
- 数据库存储多媒体文件?
- JAVA源码
- java.net.ConnectException: Connection refused
- hibernate 双向多对多查询问题
- 如果我在JSP中调用一个oracle中的sp后,如果中途关闭了web页面,会不会对sp的提交有影响
- 请问哪有 webLogic 8 的下载???
- 在control层获取excel表数据时候报异常
- struts if标签test里的值 我想写成或者 怎么写
- Criteria 分页查询问题
如果你的实体使用了关联映射的话 你只要查询到 User 就可以吧与它相关联的UserLevel、UserGender
自动查询出来 就没必要写连接查询语句了
本人建议使用关联映射解决这个问题
2. getUser().getUserLevel().getName();
getUser().getUserGender().getName();或者:
1. 原生SQL.