Спящий режим по ассоциации

В вашем соединении вам нужно включить несколько активных наборов записей (MARS).

http://msdn.microsoft.com/en-us/library/h32h3abf%28v=vs 0,80% 29.aspx

13
задан Gary Kephart 15 May 2009 в 17:49
поделиться

2 ответа

Хорошо, нашел ответ. Я попробовал кое-что, что, как мне казалось, не сработало, но, к моему удивлению, сработало. Я пробовал это:

Criteria criteria = super.getSession().createCriteria(WipDiscreteJob.class);

criteria.addOrder(Order.asc("assnName.propertyName"))

, но на самом деле сработало:

Criteria criteria = super.getSession().createCriteria(WipDiscreteJob.class);
Criteria assnCrit = criteria.createCriteria("assnName");

assnCrit.addOrder(Order.asc("propertyName"));

Я сделал предположение, что метод addOrder () можно использовать только по основным критериям, а не по каким-либо критериям ассоциации.

23
ответ дан 1 December 2019 в 19:15
поделиться

У меня была такая же проблема, и ее также можно решить следующим образом:

Criteria criteria = super.getSession().createCriteria(WipDiscreteJob.class)
  .createAlias("assnName","a")
  .addOrder(Order.asc("a.propertyName"));

createAlias ​​позволяет вам сохранить критерии, основанные на исходной сущности (в данном случае WipDiscreteJob.class), чтобы вы могли продолжать создавать критерии в в случае, если он вам нужен (например, если вам нужен второй порядок по свойству из исходной сущности).

14
ответ дан 1 December 2019 в 19:15
поделиться
Другие вопросы по тегам:

Похожие вопросы: