[Hibernate] пара вопросов

pitrik2

хочу чтобы было так
class EEE {
private Entity1 entity1;
private Entity2 entity2;
}

и потом вытаскивалось
List<EEE> eees = createQuery("select e1,e2 from Entity1 e1, Entity2 e2 where e1.id=e2.id and e1.lala=5")

можно какнить так сделать?

psm-home

В HQL есть оператор new:
"select new EEE (e1,e2) from Entity1 e1, Entity2 e2..."  

EEE должен иметь подходящий конструктор.

freezer

по-моему нельзя, такой запрос будет массив Object'ов выдавать, и для него уже надо конструировать твой EEE

freezer

В HQL есть оператор new
и правда :o
век живи, век учись - дураком помрёшь

pitrik2

блин
форум был недоступен
я твой ответ не смог прочесть :(
в результе долго в гугле рылся и нарыл как раз это
долго видимо потому что никак не мог сфрмулировать что хочу найти
но тебе все равно спасибо :)

pitrik2

а как e1 и e2 в этом запросе заджойнить?
здесь же нельзя указать on e1.id=e2.id ?
создал геттер для E2 в E1
class E1 {
@ManyToOne(fetch = FetchType.LAZY)
@JoinColumn(name="id")
public E2 getE2 {
return null;
}
}

и вот так работает:
from E1 e1 left join e1.e2 e2
но так он требует чтобы был еще и сеттер для E2
коллбек тудыть пытается подсунуть :(
как бы ему запретить E1.e2 вообще вытаскивать?
или както по другому надо джойнить?

freezer

не оно? http://www.ibm.com/developerworks/ru/edu/dm0604balani/sectio...
(в самом низу листинг)

pitrik2

не оно?
че-то не вижу где там join :(

pitrik2

а ладн
хрен с ним
решил все по-другому делать :)
Оставить комментарий
Имя или ник:
Комментарий: