【问题标题】:JPA/Hibernate + get specific item from onetomayrelationJPA/Hibernate + 从 onetomayrelation 获取特定项目
【发布时间】:2010-11-10 09:42:05
【问题描述】:

我想获得 OneToMany 关系中的特定行。例如。获得订单中最便宜的商品

例子:

public class Order {

 @Id
 @Column(name = "ORDER_ID")
 private Long id;

 ???
 private Item cheapestItem;

}

public class Item {

 @Id
 @Column(name = "ITEM_ID")
 private Long id;

 private Long price;

}

我该怎么做?

【问题讨论】:

  • 不应该是Item cheapestItem吗?如果你真的想要最便宜的订单,你应该把它放在Item 类中
  • 没错。我改变了例子

标签: java collections jpa persistence


【解决方案1】:

尝试在 hibernate @Where 注释中指定 where 子句(但不确定是否可以将其应用于非集合)

【讨论】:

    【解决方案2】:

    我想获得(...)订单中最便宜的商品

    如果你真的想得到最便宜的Item(实际上不坚持),应该使用ManyToOneJoinColumnOrFormula 是可行的。需要 Hibernate 3.5+,有关示例,请参阅 HHH-4382HHH-5041 等问题。

    使用以前版本的 Hibernate 仅检索价格会更容易和可行。见Hibernate Derived Properties - Performance and Portability

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2014-11-08
      • 2022-12-12
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多