HQL-запрос для получения данных из нескольких таблиц - PullRequest
0 голосов
/ 23 февраля 2012

У меня есть 2 таблицы - A и B. И у каждой есть соответствующие hbm.xml и pojo.
Class A{<br> String aId;<br> String col;<br> }<br> Class B{<br> String bId;<br> String aId;//as reference to class A<br> A aObj;<br> }<br> B.hbm.xml contains the following entry to map A to B:<br> <many-to-one name="aId" column="AID" not-null="true" class="com.pojo.A" unique="true"/><br> Мое требование состоит в том, что всякий раз, когда создается объект B, он должен помещать данные в таблицу A какЧто ж.Точно так же, когда я читаю из B, он также должен давать мне данные из A, основанные на совпадении aId .Это однозначное отображение.Я хочу передать значение aId в качестве входных данных для запроса.И получите данные из обеих таблиц, соответствующих этой совпадающей строке.Может кто-нибудь сказать мне, как использовать HQL-запросы для достижения этой цели?И является ли структура, которая у меня есть сейчас, правильной для моего требования?

1 Ответ

1 голос
/ 23 февраля 2012

У вас неправильные занятия. В классе B должно быть поле типа A, но не должно быть поля aId.

Прочитайте документацию Hibernate по однонаправленным ассоциациям OneToOne , поскольку это то, что у вас есть.

Ваши требования указывают, что вы должны каскад все операции от B до A, и что эта ассоциация должна охотно извлекаться (с <many-to-one lazy="false"...>).

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