JPA / Hibernate + получить конкретный предмет из одного отношения - PullRequest
2 голосов
/ 10 ноября 2010

Я хочу получить определенную строку в отношении 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;

}

Как я могу это сделать?

Ответы [ 2 ]

1 голос
/ 10 ноября 2010

Я хочу получить (...) самый дешевый товар из заказа

Если вы действительно хотите получить самый дешевый Item (без фактического сохранения), он должно быть выполнимо с ManyToOne и JoinColumnOrFormula.Требуется Hibernate 3.5+, см. Примеры таких проблем, как HHH-4382 и HHH-5041 .

Получение только цены будет намного проще и выполнимо с предыдущими версиями Hibernate.См. Производные свойства Hibernate - производительность и переносимость .

1 голос
/ 10 ноября 2010

Попробуйте указать условие where в аннотации hibernate @Where (хотя и не уверен, что вы можете применить его к не-коллекции)

...