栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

JPQL在Select语句中创建新对象-避免还是拥抱?

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

JPQL在Select语句中创建新对象-避免还是拥抱?

不要回避它 ,因为有第 10.2.7.2节 所提醒的,因为它有完全有效的用例,所以这里有SELECt NEW EJB 3.0
JPA规范

的SELECT子句 中的 JPQL构造函数表达式

SELECT列表中可以使用构造函数来返回一个或多个Java实例。指定的类不需要是实体,也不必映射到数据库。 构造函数名称必须完全合格。

如果在SELECT NEW子句中指定了实体类名称,则生成的实体实例将处于新状态。

SELECT NEW com.acme.example.CustomerDetails(c.id, c.status, o.count)FROM Customer c JOIN c.orders oWHERe o.count > 100

简而言之,当您不想以类型安全的方式(而不是

Object[]
)检索完整的实体或对象的完整图形时,请使用SELECT NEW
。您将查询结果映射到实体类还是非映射类将取决于您的选择。一个典型的示例是列表屏幕(您可能不需要所有详细信息)。

换句话说,不要在任何地方都使用它,但不要禁止它的使用(很少有东西是黑色或白色的)。



转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/426522.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号