Erro em inserir no banco hibernate

6 respostas
F

meu mapeamento…

<id name="usbId" type="long">
            <column name="USB_ID" precision="10" scale="0" />
            <generator class="assigned" />
</id>

a primeira ver que dou o ssesion.save() funciona blz… mas na segunda da esse erro ai…

2006-08-11 10:52:40,062 ERROR event.def.AbstractFlushingEventListener  -> Could not synchronize database state with session
org.hibernate.exception.ConstraintViolationException: Could not execute JDBC batch update
	at org.hibernate.exception.ErrorCodeConverter.convert(ErrorCodeConverter.java:74)
	at org.hibernate.exception.JDBCExceptionHelper.convert(JDBCExceptionHelper.java:43)

PS: o banco é oracle… acho que é alguma coisa no mapeamento que preciso fazer pra ele pegar a ultima ID + 1 e inserir… Obrigado

6 Respostas

J

Use uma sequence do Oracle para inserir…

<id name="usbId" type="long"> <column name="USB_ID" precision="10" scale="0" /> <generator class="sequence"> <param name="sequence">nome_da_sequence</param> </generator> </id>

F

bom… eu teria apenas que colocar um nextVal…
mas como eu colocaria isso neste mapeamento?
valeu…

J

Coloque isso aí que ele já sabe que tem que dar um nextval…

F

entao eu teria que criar uma sequence no banco do oracle e nesse mapeamento que vc passou eu coloco o mesmo nome que criei a sequence.
é isso?

J

Sim, onde está nome_da_sequence você coloca o que você criou…

F

Mais uma vez obrigado…funcionou aqui

Criado 11 de agosto de 2006
Ultima resposta 11 de ago. de 2006
Respostas 6
Participantes 2