オブジェクトを照会し、そのリスト属性をソート済みリストに戻す最良の方法は何ですか?Hibernate - 内部クエリリスト(またはList in List)をソートする方法は?
例:名前でと説明が発注StateItemのリスト(各項目について)注文した商品のリスト:もたらすことによって、グループのクエリを行うための最善の方法は何であるか、以下のシナリオでは、与えられた
StateObject?
public class Group {
// ...
@Fetch(FetchMode.JOIN)
@OneToMany(mappedBy = "group")
private List<ItemGroup> itemList;
// ...
}
public class ItemGroup {
// ...
@JoinColumn(name="ID_GROUP", referencedColumnName="ID_GROUP")
@ManyToOne
private Group group;
@Fetch(FetchMode.JOIN)
@OneToMany(mappedBy = "item")
private List<StateItem> stateList;
// ...
}
public class StateItem {
// ...
@JoinColumn(name="ID_ITEM", referencedColumnName="ID_ITEM")
@ManyToOne
private ItemGroup item;
@JoinColumn(name="CD_STATE", referencedColumnName="CD_STATE")
@ManyToOne
private StateObject state;
// ...
}
public class StateObject {
// ...
@Column(name="DE_STATE_OBJECT", length=255)
private String description;
// ...
}
PS:StateObjectの例のように、子属性でソートする必要があるため、@OrderByを使用できないと思います。 @SortNaturalまたは@SortComparatorを使用したソリューションは、パフォーマンスがありません。 HQLまたはCriteriaのみを使用してその作業を行うことはできますか?
親クラスに '@ NamedQuery'を書き込む方がよいでしょう。 –