Hibernate связаны между 2 объектами - PullRequest
0 голосов
/ 13 июня 2011

Я использую hibernate для получения объектов из БД с помощью AliasToBeanResultTransformer. например:

session.createsqlquery («выберите col_1 col1, col_2 col2 из таблицы»). Setresulttransformer (новый AliasToBeanResultTransformer (MyClass.class))

и MyClass имеет col1, col2 в качестве членов.

можно ли сделать следующее: есть класс MyClass, который будет иметь в качестве члена списка a заполнить этот член списком связанных строк из связанной таблицы, но без выполнения 2 запросов и повторения цикла, который создаст требуемый объект?

имеется в виду, реализовать отношения hibernate между двумя сущностями, но с моими собственными сущностями?

спасибо.

Ответы [ 2 ]

0 голосов
/ 14 июня 2011

если вы хотите просто получить список, тогда этот HQL должен выполнить трюк

select clasA.classBList from ClassA clasA

этот запрос будет извлекать все записи свойства classbList ...

0 голосов
/ 13 июня 2011

Не уверен, что я снова правильно понял вопрос.Но если вам нужно что-то вроде этого:

class MyClass{
    private ClassAnother;
}

, означающее, что вы хотите, чтобы член MyClass назывался ClassAnother, а не "col1" и "col2", тогда ответ еще не получен.

Вам просто нужно определить конструктор таким образом, чтобы он принимал в качестве параметров "col1" и "col2".

Надеюсь, это поможет!

Редактировать: Согласно вашемукомментарий, ваш класс будет:

class ClassA{
   private List<ClassB> classBList;
}

И вы хотите, чтобы он заполнялся в одном запросе SQL.Если это понимание верно, это будет невозможно, потому что ваш набор результатов будет возвращать повторяющийся столбец поля ClassA для каждой записи для ClassB.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...