Spring data binding & Hibernate. Помогите разобраться.

Dec 13, 2010 15:50

Команда в себе содержит некий entity object который отрисовывается на экране. Entity загружается через Hiberante и содержит в себе другие объекты.
Когда entity загрузилась некоторые вложенные объекты могут быть пустые т.е null
т.е.
Entity Foo:
 String name="test"
 Date date="13-12-2010"
 Bar = null

На странице есть такие поля: Foo.name, Foo.date и Foo.Bar.number

Когда Spring байндит данные, то он чтобы дойти до значения number создаёт объект Bar
После этого, когда я нажимаю сабмит, я пытаюсь сохранить эту команду. Но в команде уже Bar != null и вылетает org.hibernate.TransientObjectException: object references an unsaved transient instance - save the transient instance before flushing
В проекте сейчас используется своя реализация DataBinder, которая зануляет такие объекты как Bar и всё нормально работает.
Но такой подходит выглядит как то ненормально.
Собственно вопрос как надо правильно делать? Как сохранить такую команду?

spring, hibernate

Previous post Next post
Up