hql如何查询

yzw2048 发布于 2010/12/31 13:58
阅读 368
收藏 1
HQL

数据库表

create table product_ (

  id_ int primary key auto_increment,

  name_ varchar(50) not null

);

create table attribute_ (

  id_ int primary key auto_increment,

  product_id_ int not null,

  label_ varchar(50) not null,

  value_ varchar(50) not null

);

实体类和map的配置

public class Product {

    private Integer id;

    private String name;

    private Map<String, String> attributes;

}

<map name="attributes" table="attribute_" inverse="true" fetch="join">
  <key column="product_id_" />
  <map-key column="label_" type="string" />
  <element column="value_" type="string" />
</map>

问题

用get的话可以正常加载一个Product对象

但是用hql该怎么查询,用"from Product as t1 left outer join fetch t1.attributes"查的话返回好多个...

加载中
0
yzw2048
yzw2048

那东西早看过了,没用...

0
我本那啥

select distinct t1 from Product as t1 left outer join fetch t1.attributes

0
yzw2048
yzw2048

今天无聊,又试了一下,总算把问题解决了

select t1 from Product as t1 left outer join fetch t1.attributes

把hql改成这样就可以了,郁闷...

返回顶部
顶部