@NotEmpty não está sendo reconhecida

5 respostas
D

Olá Pessoal
Estou com um probleminha com a anotação @NotEmpty do Hibernate. Essa anotação não está sendo reconhecida. Será que é porque o campo já está notNull no banco? Tanto com a anotação como sem, ao tentar gravar com esse campo vazio ocorre o erro:
org.hibernate.PropertyValueException: not-null property references a null or transient value: net.cpadi.model.Unidade.descricao
Como deve usar essa validação?

Obrigada

5 Respostas

M

Opa, tudo bem?Veja este exemplo aqui:
http://www.laliluna.de/255.html
Será que é o mesmo erro?

D

E…é igual mesmo.

org.hibernate.PropertyValueException: not-null property references a null or transient value: net.cpadi.model.Unidade.descricao

at org.hibernate.engine.Nullability.checkNullability(Nullability.java:72)

at org.hibernate.event.def.AbstractSaveEventListener.performSaveOrReplicate(AbstractSaveEventListener.java:290)

at org.hibernate.event.def.AbstractSaveEventListener.performSave(AbstractSaveEventListener.java:181)

at org.hibernate.event.def.AbstractSaveEventListener.saveWithGeneratedId(AbstractSaveEventListener.java:107)

at org.hibernate.event.def.DefaultSaveOrUpdateEventListener.saveWithGeneratedOrRequestedId(DefaultSaveOrUpdateEventListener.java:187)

at org.hibernate.event.def.DefaultSaveEventListener.saveWithGeneratedOrRequestedId(DefaultSaveEventListener.java:33)

at org.hibernate.event.def.DefaultSaveOrUpdateEventListener.entityIsTransient(DefaultSaveOrUpdateEventListener.java:172)

at org.hibernate.event.def.DefaultSaveEventListener.performSaveOrUpdate(DefaultSaveEventListener.java:27)

at org.hibernate.event.def.DefaultSaveOrUpdateEventListener.onSaveOrUpdate(DefaultSaveOrUpdateEventListener.java:70)

at org.hibernate.impl.SessionImpl.fireSave(SessionImpl.java:535)

at org.hibernate.impl.SessionImpl.save(SessionImpl.java:523)

at org.hibernate.impl.SessionImpl.save(SessionImpl.java:519)

at net.cpadi.controller.dao.Dao.salva(Dao.java:37)

at net.cpadi.controller.dao.UnidadeDao.gravar(UnidadeDao.java:42)

at net.cpadi.model.Unidade.gravar(Unidade.java:155)

at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)

at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)

at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)

at java.lang.reflect.Method.invoke(Method.java:597)

at net.java.dev.genesis.reflection.ReflectionInvoker.invoke(ReflectionInvoker.java:45)

at net.java.dev.genesis.ui.metadata.MethodMetadata.invoke(MethodMetadata.java:70)

at net.java.dev.genesis.ui.controller.DefaultFormController.invokeAction(DefaultFormController.java:586)

at net.java.dev.genesis.ui.controller.DefaultFormController.invokeActionWithReset(DefaultFormController.java:796)

at net.java.dev.genesis.ui.controller.DefaultFormController.invokeAction(DefaultFormController.java:785)

at net.java.dev.genesis.ui.binding.AbstractBinder.invokeAction(AbstractBinder.java:587)

at net.java.dev.genesis.ui.binding.AbstractBinder.invokeFormAction(AbstractBinder.java:781)

at net.java.dev.genesis.ui.swing.components.AbstractComponentBinder$1.actionPerformed(AbstractComponentBinder.java:339)

at javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:1995)

at javax.swing.AbstractButton$Handler.actionPerformed(AbstractButton.java:2318)

at javax.swing.DefaultButtonModel.fireActionPerformed(DefaultButtonModel.java:387)

at javax.swing.DefaultButtonModel.setPressed(DefaultButtonModel.java:242)

at javax.swing.plaf.basic.BasicButtonListener.mouseReleased(BasicButtonListener.java:236)

at java.awt.Component.processMouseEvent(Component.java:6038)

at javax.swing.JComponent.processMouseEvent(JComponent.java:3265)

at java.awt.Component.processEvent(Component.java:5803)

at java.awt.Container.processEvent(Container.java:2058)

at java.awt.Component.dispatchEventImpl(Component.java:4410)

at java.awt.Container.dispatchEventImpl(Container.java:2116)

at java.awt.Component.dispatchEvent(Component.java:4240)

at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4322)

at java.awt.LightweightDispatcher.processMouseEvent(Container.java:3986)

at java.awt.LightweightDispatcher.dispatchEvent(Container.java:3916)

at java.awt.Container.dispatchEventImpl(Container.java:2102)

at java.awt.Window.dispatchEventImpl(Window.java:2429)

at java.awt.Component.dispatchEvent(Component.java:4240)

at java.awt.EventQueue.dispatchEvent(EventQueue.java:599)

at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:273)

at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:183)

at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:173)

at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:168)

at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:160)

at java.awt.EventDispatchThread.run(EventDispatchThread.java:121)

O que fazemos?

nbluis

Tu ta dizendo que o atributo é notnull e ta tentando inserir nulo…

D

É… o campo é Notnull no banco. Eu estou tentando usar a validação para não ter que ficar codificando. Se o campo é nulo mostra uma mensagem para o usuario. Seria isso que iria fazer a notação @NotEmpty não é?

D

Olá…mrsmylle
Eu ainda não consegui resolver esse problema! Você já resolveu? Se for possível postar a sua solução talvez resolva pra mim também.
Obrigada

Criado 28 de setembro de 2007
Ultima resposta 1 de out. de 2007
Respostas 5
Participantes 3