JPA查询带有列表的新对象

时间:2013-12-13 10:59:12

标签: java hibernate jpa wrapper

我有一个像这样的JPA包装器:

public Wrapper(Object object, List<Bla> bla) {...

我想做一个选择来填充那个包装器。

SELECT new Wrapper(object, bla) FROM Object object...

但'bla'是由这样的选择返回的列表:

SELECT bla FROM Bla bla WHERE bla.object = object

我如何填写包装器?

感谢。

1 个答案:

答案 0 :(得分:1)

你不能这样做,因为构造函数应该只有简单的类型(没有集合)。 解决方案是进行两次查询并手动构建实体。

根据JPA规范,构造函数中的元素(称为constructor_item)可能是:

  

constructor_item :: =

     

single_valued_pa​​th_expression |

     

scalar_expression |

     

aggregate_expression |

     

identification_variable