Sql 枚举列上的Hibernate IllegalArgumentException
在我的项目表中,我有一个枚举列来描述该项目的状态:Sql 枚举列上的Hibernate IllegalArgumentException,sql,hibernate,enums,Sql,Hibernate,Enums,在我的项目表中,我有一个枚举列来描述该项目的状态: @Enumerated(EnumType.STRING) @Column(name="status") private ItemStatus status; 然后,当我将项目添加到购物车中时,我希望通过此查询列出购物车中的所有项目: select i.* from item as i inner joint cart as c on i.item_id = c.item_id where c.owner_id=:owner_id group
@Enumerated(EnumType.STRING)
@Column(name="status")
private ItemStatus status;
然后,当我将项目添加到购物车中时,我希望通过此查询列出购物车中的所有项目:
select i.* from item as i inner joint cart as c on i.item_id = c.item_id
where c.owner_id=:owner_id group by i.item_id
上面的结果会像我预期的那样返回。但是,我还想获得有关项目所有者的更多详细信息,因此我将查询更改为:
select i.*, u.* from item as i inner join cart as c on i.item_id = c.item_id
inner join customer as u on i.owner_id = u.customer_id
where c.owner_id = :owner_id group by i.item_id, u.customer_id
SQLQuery query = session.createSQLQuery(queryname);
List<Object[]> result = query.addEntity(Item.class)
.addEntity(Customer.class)
.setParameter("owner_id", owner_id)
.list();
您不也应该添加购物车实体吗
List<Object[]> result = query.addEntity(Item.class)
.addEntity(Cart.class)
.addEntity(Customer.class)
.setParameter("owner_id", owner_id)
.list();
我只想获得项目信息和该项目的所有者信息,为什么我需要添加购物车实体?我尝试在pgAdmin上运行第二个查询,结果与我预期的一样。所以我认为我应用HibernateSqlQuery不正确
List<Object[]> result = query.addEntity(Item.class)
.addEntity(Cart.class)
.addEntity(Customer.class)
.setParameter("owner_id", owner_id)
.list();