Скажем, у меня есть класс Mother с отображением 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.
Приветствует заранее за любую помощь ...