Spring + hibernate validator

4 respostas
J

Pessoal,

como faço pra usar estes dois frameworks juntos? uma luz, por favor…

desde já agradeço a atenção.

4 Respostas

bland

O que você realmente quer fazer? E porque não está conseguindo fazer? Está dando mensagem de erro? Qual a mensagem de erro? Tem o log de erro? A resposta para essas perguntas ajuda, e muito, a resolução do seu problema.

Abraço.

J

bland,

de antemão, já agradeço a atenção… valeu.

estou tentando validar meus campos na hora de incluir/ alterar

não sei se é assim q se faz, mas nestes metodos, fiz um catch(InvalidStateException) ; no log mostra que deu tal erro, mas na verdade não entrou no meu catch (onde mandei escrever qq coisa no console)…

public GrupoProdutoEntity incluiGrupoProduto(GrupoProdutoEntity grupoProduto) throws XXXException { GrupoProdutoEntity aux = new GrupoProdutoEntity(); BeanUtils.copyProperties(grupoProduto,aux); try { sf.getCurrentSession().save(aux); } catch(InvalidStateException iex) { System.out.println("entrou erro validação"); ClassValidator grupoValidator = new ClassValidator(GrupoProdutoEntity.class); InvalidValue[] validationMessages = grupoValidator.getInvalidValues(aux); for (int i=0;i<validationMessages.length; i++) throw new XXXHibernateException("", validationMessages[i].getMessage()); } ... }
stackTrace:

Hibernate: select grupoprodu0_.codigo_grupo_produto as codigo1_4_0_, grupoprodu0_.descricao as descricao4_0_, grupoprodu0_.permite_troca as permite3_4_0_ from grupo_produto grupoprodu0_ where grupoprodu0_.codigo_grupo_produto=? Exception in thread "AWT-EventQueue-0" org.hibernate.validator.InvalidStateException: validation failed for: xxx.produto.model.entity.GrupoProdutoEntity at org.hibernate.validator.event.ValidateEventListener.validate(ValidateEventListener.java:148) at org.hibernate.validator.event.ValidateEventListener.onPreInsert(ValidateEventListener.java:172) at org.hibernate.action.EntityInsertAction.preInsert(EntityInsertAction.java:156) at org.hibernate.action.EntityInsertAction.execute(EntityInsertAction.java:49) at org.hibernate.engine.ActionQueue.execute(ActionQueue.java:250) at org.hibernate.engine.ActionQueue.executeActions(ActionQueue.java:234) at org.hibernate.engine.ActionQueue.executeActions(ActionQueue.java:141) at org.hibernate.event.def.AbstractFlushingEventListener.performExecutions(AbstractFlushingEventListener.java:298) at org.hibernate.event.def.DefaultFlushEventListener.onFlush(DefaultFlushEventListener.java:27) at org.hibernate.impl.SessionImpl.flush(SessionImpl.java:1000) at org.hibernate.impl.SessionImpl.managedFlush(SessionImpl.java:338) at org.hibernate.transaction.JDBCTransaction.commit(JDBCTransaction.java:106) at org.springframework.orm.hibernate3.HibernateTransactionManager.doCommit(HibernateTransactionManager.java:575) at org.springframework.transaction.support.AbstractPlatformTransactionManager.processCommit(AbstractPlatformTransactionManager.java:662) at org.springframework.transaction.support.AbstractPlatformTransactionManager.commit(AbstractPlatformTransactionManager.java:632) at org.springframework.transaction.interceptor.TransactionAspectSupport.commitTransactionAfterReturning(TransactionAspectSupport.java:314) at org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:117) at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:166) at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:204) at $Proxy11.atualizaGrupoProduto(Unknown Source) at cpadi.produto.view.FrmGrupoProduto$TelaHandler.actionPerformed(FrmGrupoProduto.java:80) 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.AbstractButton.doClick(AbstractButton.java:357) at javax.swing.AbstractButton.doClick(AbstractButton.java:337) at cpadi.util.gui.CpadiFrame$1.actionPerformed(CpadiFrame.java:100) at javax.swing.SwingUtilities.notifyAction(SwingUtilities.java:1636) at javax.swing.JComponent.processKeyBinding(JComponent.java:2849) at javax.swing.JComponent.processKeyBindings(JComponent.java:2895) at javax.swing.JComponent.processKeyEvent(JComponent.java:2812) at java.awt.Component.processEvent(Component.java:5815) 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.KeyboardFocusManager.redispatchEvent(KeyboardFocusManager.java:1848) at java.awt.DefaultKeyboardFocusManager.dispatchKeyEvent(DefaultKeyboardFocusManager.java:697) at java.awt.DefaultKeyboardFocusManager.preDispatchKeyEvent(DefaultKeyboardFocusManager.java:962) at java.awt.DefaultKeyboardFocusManager.typeAheadAssertions(DefaultKeyboardFocusManager.java:834) at java.awt.DefaultKeyboardFocusManager.dispatchEvent(DefaultKeyboardFocusManager.java:661) at java.awt.Component.dispatchEventImpl(Component.java:4282) at java.awt.Container.dispatchEventImpl(Container.java:2116) 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)
tenho q configurar algo mais no contexto.xml pra usar o validator??

J

desculpa, esqueci de formatar os codigos… q horrivel…

J

alguém?

Criado 27 de novembro de 2007
Ultima resposta 27 de nov. de 2007
Respostas 4
Participantes 2