Скажем, у меня есть класс Мать с отображением oneToMany для котят
@Entity
@org.hibernate.annotations.Entity(dynamicUpdate = true)
@Table(name = "Mother")
.....
@OneToMany(fetch = FetchType.LAZY, targetEntity=Kittens.class, cascade=CascadeType.ALL)
@JoinColumn(name="motherId")
private List<Kittens> kittens;
Я использую критерии Api для предоставления списка
Criteria criteria = this.getSession().createCriteria(Mother.class);
Criterion MotherType = Restrictions.eq("type", "domesticated");
criteria.add(MotherType)
.addOrder(Order.asc("motherName"))
.setResultTransformer(Criteria.DISTINCT_ROOT_ENTITY)
.setFetchMode("kittens", FetchMode.JOIN)
// .addOrder(Order.asc("kittens.kittenName"));
List test = criteria.list();
Работает нормально, пока я не попытаюсь добавить порядок поля котят kittenName
Я также попытался добавить аннотацию @OrderBy (value = "kittenName" ) под Kitten @OneToMany (... и т.д.), которая отлично работает до тех пор, пока вы не будете использовать API критериев, и этот порядок будет предшествовать любым другим инструкциям заказа в sql.
Приветствуем вас за любую помощь...