【问题标题】:JPA Creating views with parts of entitiesJPA 使用实体的一部分创建视图
【发布时间】:2016-01-21 12:51:03
【问题描述】:

在 JPA 中是否可以在动态 VO 中从数据库中加载信息?比如说我想要一个客户表信息的子集,只是姓名和其他一些字段,或者客户的一些字段加上地址表的一些字段在一个对象中。是否可以在不编码的情况下使用这个新的 VO 对象池?考虑到创建一个类的新实例并不是那么高效。 基本上只加载所需的信息(不是整个实体)并将其加载到由这些对象池提供的对象中。有任何想法吗?

【问题讨论】:

    标签: java hibernate jpa


    【解决方案1】:

    当然,您可以创建一个值对象并让您的查询返回这些对象的列表而不是实体。您只需为 VO 创建适当的构造函数并在查询中使用 NEW 关键字,此处记录:http://docs.oracle.com/cd/E12839_01/apirefs.1111/e13946/ejb3_langref.html#ejb3_langref_constructor

    另请参阅此答案:JPQL Create new Object In Select Statement - avoid or embrace?

    【讨论】:

      【解决方案2】:

      您可能需要看一下ObjectGraph 概念(在 JPA 2.1 中引入)

      【讨论】:

      • 看起来像我要找的东西,文档听起来让我很困惑,你介意用一个简单的例子来编辑你的问题吗?另外,这个 ObjectGraph 是否从池中加载对象?
      • 在不看代码的情况下,很难为您提供一个简单的 ObjectGraph 示例。请分享您的一些代码
      猜你喜欢
      • 1970-01-01
      • 2021-08-02
      • 1970-01-01
      • 1970-01-01
      • 2013-09-23
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2022-01-17
      相关资源
      最近更新 更多