2013-04-14 3 views
0

Я пишу hibernate-запросы в java ..hibernate transientobject exception

В моем приложении у меня есть пользователь и его деловой партнер в качестве другого пользователя.

Когда пользователь создан, он может выбрать уже существующего партнера в качестве другого пользователя.

новый пользовательский объект не был создан, так что нулевая

user.setUserId(null)//as hibernate automatically increment the userId value 

anotheruser.setPartnerId(user.getUserId()) 
userSet.getPartners.add(user); 

session.save(userSet); 

Он показывающий transientobjectexception ..

я думаю, что это происходит потому, что, как первичный ключ еще не назначен, прежде чем сохранить то почему он не может setpartnerid there..can кто-нибудь дать предложение, как лучший способ осуществить это ..

благодаря

ответ

1

Попробуйте сохранить user прежде чем вы экономите userSet. Я предполагаю, что каскадные сейвы не настроены для этой коллекции, поэтому вы пытаетесь сохранить ссылку на несохраненную ссылку на переходный процесс (пользователь).

Вы должны добавить свои сущности классы и сопоставления к вопросу, в противном случае это все догадки!

+0

спасибо за информацию .... Я сделал setpartid aftert session.save и перед session.close() .. он работает –

+1

@pratapm Если он работает на вас, вы должны [принять ответ] (http://meta.stackexchange.com/a/5235). – acdcjunior