在Hibernate中使用HQL通过Join进行关联查询
2013-09-03 10:41
459 查看
id varchar(32) not null,
name varchar(20)
);
alter table one11_person
add constraint one11_person_pk primary key(id);
create table one11_car(
id varchar(32) not null,
name varchar(20),
personid varchar(32)
);
alter table one11_car
add constraint one11_car_pk primary key(id);
alter table one11_car
add constraint one11_car_fk foreign key(personid) references one11_person(id);2:hbm.xml文件:Person.hbm.xml文件:<hibernate-mapping>
<class name="com.one11.One11Person" table="one11_person" catalog="spring">
<id name="id" type="java.lang.String">
<column name="id" length="32" />
<generator class="uuid" />
</id>
<property name="name" type="java.lang.String">
<column name="name" length="20" />
</property>
<set name="one11Cars" cascade="all">
<key>
<column name="personid" length="32" />
</key>
<one-to-many class="com.one11.One11Car" />
</set>
</class>
</hibernate-mapping>Car.bbm.xml文件:<hibernate-mapping>
<class name="com.one11.One11Car" table="one11_car" catalog="spring">
<id name="id" type="java.lang.String">
<column name="id" length="32" />
<generator class="uuid" />
</id>
<many-to-one name="one11Person" class="com.one11.One11Person" fetch="select">
<column name="personid" length="32" />
</many-to-one>
<property name="name" type="java.lang.String">
<column name="name" length="20" />
</property>
</class>
</hibernate-mapping>3:类文件略。4:关联查询代码:public void query(){
Session s = HibernateUtil.getSessionFactory().getCurrentSession();
s.beginTransaction();
List list = s.createQuery("select new map(p.name as pname,c.name as cname) from One11Person as p join p.one11Cars as c").list();
s.getTransaction().commit();
System.err.println(list);
}粗体部分为查询语句。其中使用了new map()和join关键字。对于join之后的one11Cars属于p的一个属性。
相关文章推荐
- 在Hibernate中使用HQL通过Join进行关联查询
- jpa或bernate使用原生sql进行关联查询org.hibernate.hql.internal.ast.QuerySyntaxException: Path expected for join
- 在Hibernate中使用HQL通过Join进行关联查询
- 通过转成SQL来进行查询,解决hql不能在distinct,group by结果集上使用count的问题
- Eclipse使用hibernate进行HQL语句查询时,速度慢的原因之一
- 【JavaWeb-21】多对多关系、类和关联级别的加载策略、HQL查询详解、Hibernate连接池配置、Hibernate里悲观锁乐观锁使用
- Hibernate 使用HQL方法进行模糊查询(3张表联合查询)
- Hibernate(3)-使用HQL语句进行数据查询
- Hibernate基础-使用HQL进行查询
- HIbernate,使用HQL进行查询
- Hibernate学习31 -- Hibernate查询语言(HQL)5 -- 直接使用sql进行查询
- Hibernate中使用HQL进行查询操作
- hibernate使用hql多表关联查询list转为json报错
- Hibernate 中使用HQL进行查询
- 使用hibernate 的hql进行查询表名无效问题
- Hibernate中使用HQL进行分页查询
- Hibernate中使用HQL进行查询操作
- Java Hibernate中使用HQL语句进行数据库查询的要点解析
- hibernate中使用HQL进行数据库查询
- 在hibernate中使用HQL语句和QBC两种方法进行查询