我想用CriteriaBuilder爲這種sql創建一個查詢;CriteriaBuilder和使用別名選擇原因
SELECT myDefinedAlias.id, myDefinedAlias.name, myDefinedAlias.aFieldForFK select from Person as myDefinedAlias where myDefinedAlias.name = ?1
我該如何完成爲此定義別名?
我可以創建一個沒有別名查詢,但我不能定義別名...
CriteriaQuery<Person> cq = criteriBuilder.createQuery(Person.class);
Root<Person> person = cq.from(Person.class);
cq = cq.select(person);
cq = cq.where(criteriaBuilder.equal(person.get(Person_.name), "Chivas")))
我需要這個QueryHints,批量抓取。
.setHint(QueryHints.BATCH, "myDefinedAlias.aFieldForFK.itsNestedAttribute");
我被卡住了,找不到任何關於我的問題。任何人?
Regards
對不起延遲迴復...是的,你是對的。我檢查了是否可以通過「Person」註釋獲取,並且它是正確的。我不得不改變我構建查詢的方式。謝謝你的幫助! – 2012-04-29 21:20:35