java - JPA 查询带有列表的新对象

标签 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

如何填充 wrapper ?

谢谢。

最佳答案

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

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

constructor_item ::=

single_valued_path_expression |

scalar_expression |

aggregate_expression |

identification_variable

关于java - JPA 查询带有列表的新对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20564852/

相关文章:

java - 使用eclipse调用不同子项目中的类

java - 未找到 Hibernate 实体

java - BigDecimal 类型列的默认值的 JPA 注释

spring - JPA:如何从 react 存储库中的通量中保存

java - 将 Spring Boot 与 JPA 一起使用时如何坚持

java - Hibernate 实体代理初始化

java - LWJGL : Pixel Format Not Accelerated

java - 如何声明用户可以指定维度的数组?

java - 如何使用 xml 配置而不是 JPA 注释来 @AttributeOverride 列名

java - Windows 与 Linux 的 http 身份验证。 javax.net.ssl.SSLPeerUnverifiedException : peer not authenticated