【问题标题】:can I perform a query inside of JPA entity to get back a single column我可以在 JPA 实体内部执行查询以取回单个列吗
【发布时间】:2012-05-04 14:42:37
【问题描述】:

我有一个愚蠢的问题。如果可以做到这一点,那就太好了,但我没有屏住呼吸。

我需要链接到我的 JPA 实体的表中的单个列作为所述 JPA 实体中的集合。有什么方法可以让我只取回与该实体相关的列,而不必取回整个表(这可能会非常昂贵?)

我可以在该 JPA 实体中执行查询,该查询将被执行并急切加载到集合中吗?

我试图通过执行几个查询来避免对数据库进行多次调用。

您对此有何看法?

【问题讨论】:

  • 你试过select e.collectionField from Entity e吗?为什么不测试呢?
  • 关闭...我刚刚想通了。我会在下面发布答案。

标签: jpa openjpa


【解决方案1】:
@ElementCollection(fetch=FetchType.EAGER)
        @CollectionTable(name="QUICK_LAUNCH_DISTLIST",joinColumns=@JoinColumn(name="QUICK_LAUNCH_ID"))
        @Column(name="LIST_ID")
private List<Long> distListIDs;

ElementCollection 属性正是我所寻找的。除此之外,它似乎工作得很好。

感谢各位的帮助和启发。

【讨论】:

    【解决方案2】:

    假设一个类别有很多产品:

    select product.name from Category c inner join c.products product where ...
    

    如果这不是您想要的,请在您的问题中举例说明。

    【讨论】:

      猜你喜欢
      • 2020-12-14
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-03-30
      • 2012-02-26
      • 1970-01-01
      • 1970-01-01
      • 2019-06-23
      相关资源
      最近更新 更多