没有基础表的JPA实体

没有基础表的JPA实体,第1张

没有基础表的JPA实体

JPA 2.1规范定义了将结果从本机查询返回到非实体类的方法

您应该检出标题 3.10.16.2返回非托管实例, 尤其是

3.10.16.2.2构造函数结果

使用 SqlResultSetMapping 批注ConstructorResult 批注元素指定到构造函数的映射。
ConstructorResult 批注的 targetClass 元素指定其构造函数对应于指定列的类。必须使用
ConstructorResult 批注中的columns元素以与 构造函数
的参数列表相同的顺序指定与预期构造函数的参数对应的所有列。作为构造函数结果返回的任何实体都将处于新状态或分离状态,具体取决于是否为构造对象检索了主键。



Query q = em.createNativeQuery(        "SELECt c.id, c.name, COUNT(o) as orderCount, AVG(o.price) AS        avgOrder" +        "FROM Customer c, Orders o " +     "WHERe o.cid = c.id " +     "GROUP BY c.id, c.name",        "CustomerDetailsResult");@SqlResultSetMapping(name = "CustomerDetailsResult",        classes = {     @ConstructorResult(targetClass = com.acme.CustomerDetails.class,  columns = {          @ColumnResult(name = "id"),          @ColumnResult(name = "name"),          @ColumnResult(name = "orderCount"),          @ColumnResult(name = "avgOrder", type = Double.class)})        })


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/5048066.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-11-15
下一篇 2022-11-15

发表评论

登录后才能评论

评论列表(0条)

保存