Как сохранить дочернюю сущность в SEAM с помощью метода EnitityHome persist?

#hibernate #seam

#спящий режим #seam

Вопрос:

У меня есть два объекта с отношением один к одному, а именно Customer и CustomerDetails, отображенные в их конкретных таблицах.

У меня есть форма на странице, которая фиксирует каждое значение для свойства каждой сущности.

Как я собираюсь сохранить это в SEAM? поскольку моя командная кнопка указывает только на один метод действия, который CustomerHome.persist()

Что я сделал, так это присвоил значение в моей форме свойству CustomerDetails, например

 value="#{customerHome.intance.customerDetails.address}"
  

но я получаю сообщение об ошибке, что customerDetails принимает значение null.

другой рабочий процесс заключается в том, чтобы иметь два метода persist в моем методе CustomerHome persist, которые сохраняют обе сущности, но я получаю еще одну ошибку, что идентификатор CustomerDetails должен быть назначен первым перед вызовом для сохранения.

Есть ли кто-нибудь, кто может прояснить это для меня? Я совершенно новый SEAM.

Ответ №1:

Используете ли вы seam-gen?

Попробуйте посмотреть на проект, созданный seam-gen

Они используют метод «wire» для инициализации отношений.

В основном при создании вашего экземпляра вы убедитесь, что все отношения указывают на соответствующие объекты fooHome.instance.

Затем в вашем методе persist вы сначала вызываете метод persist EntityHome отношения.

Комментарии:

1. нет, я не использовал seam gen, я вручную запустил проект из Jboss Dev studio. Я попытаюсь исследовать провод, который вы сказали. Спасибо .. ^^

2. я решаю свою проблему .. спасибо за вашу помощь. это проводной метод.:)

Ответ №2:

Если вы скопировали этот код непосредственно из своей IDE, то опечатка, вероятно, является причиной ваших проблем:

 value="#{customerHome.intance.customerDetails.address}"
  

должно быть

 value="#{customerHome.instance.customerDetails.address}"
  

Комментарии:

1. на самом деле проблема в том, что я получаю разрешение объекта на null при ссылке на дочерний объект entity..no ошибки опечатки.:)