Foros de discusión

Корректная работа с внешними ключами

George Smith, modificado hace 10 años.

Корректная работа с внешними ключами

New Member Mensajes: 24 Fecha de incorporación: 9/01/13 Mensajes recientes
Привет!
Подскажите какие-то примеры как настроить и работать с внешними ключами таблиц с помощью Service-Builder. Начало то элементарное, нужно отобразить все строки таблицы, толкьо вместо ключей показать какое-то поле из связанной сущности. Я пробовал сделать как написано liferay in action 3.5.1 - что обещано не генерируется, в самом списке ничего "само собой" не отображается, даже само значение ключа, а вообще null. Сейчас посносил нафиг все эти, призванные облегчить работу, определения из service.xml, определил поле с ключом как просто long. А потом подаю его на вход функции получения по id нужной строки, а отттуда уже беру любое поле. Но это как-то криво наверное. Как правильно то?

Вот как предлагают описать связь:
<column name="userRegistrations" type="Collection" entity="PRRegistration" mapping-key="prUserId" />


вот что обещают:
Service Builder will generate a getRegistrations() method in your PRUser
objects which will let you seamlessly pull all registrations which belong to that user
into a List.


При таком описании ни getRegistrations() не появилось, ни вообще никаких методов для userRegistrations.

Поэтому я делаю так:
<column name="userRegistrations" type="long" />
- как обычно без всяких придумок, я то знаю, что это "ссылка" на другую таблицу

В самом liferay-ui:search-container-column-text как-то так:
value="&lt;%= userRegistrationsLocalServiceUtil.getuserRegistrations(pRUser.getuserRegistrations()).getDate() %&gt;"

- все работает. Но какие придуманы упростители улучшители в service-builder? Подскажите примеры литературу.
thumbnail
Alexey Melnikov, modificado hace 10 años.

RE: Корректная работа с внешними ключами

Regular Member Mensajes: 108 Fecha de incorporación: 27/03/12 Mensajes recientes
вот что обещают:
Service Builder will generate a getRegistrations() method in your PRUser
objects which will let you seamlessly pull all registrations which belong to that user
into a List.


Метод getUserRegistrations ищите в PRUserLocalServiceUtil.

Но какие придуманы упростители улучшители в service-builder? Подскажите примеры литературу.

Литературы нету, кроме той, что вы указали.
Ждем когда Liferay соизволит это сделать: https://issues.liferay.com/browse/LPS-15136