estou tentando usar este framework…
adicionei os jars deste na minha aplicação, tenho q fazer algo mais pra começar a usar?
coloquei a anotação @NotNull no atributo da minha classe e qdo executo dá InvalidStateException…
o q estou fazendo de errado?
org.hibernate.validator.InvalidStateException: validation failed for: net.cpadi.model.Marca
at org.hibernate.validator.event.ValidateEventListener.validate(ValidateEventListener.java:148)
at org.hibernate.validator.event.ValidateEventListener.onPreInsert(ValidateEventListener.java:172)
at org.hibernate.action.EntityIdentityInsertAction.preInsert(EntityIdentityInsertAction.java:119)
at org.hibernate.action.EntityIdentityInsertAction.execute(EntityIdentityInsertAction.java:42)
at org.hibernate.engine.ActionQueue.execute(ActionQueue.java:250)
at org.hibernate.event.def.AbstractSaveEventListener.performSaveOrReplicate(AbstractSaveEventListener.java:298)
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)
[code] public FrmMarca() {
initComponents();
setExtendedState(MAXIMIZED_BOTH);
//Cria uma instancia de marca
Marca marca = new Marca();
//adiciona o rodapé
NavegadorRodape rodape = new NavegadorRodape();
paneRodape.add(rodape);
//adiciona o cabeçalho
Cabecalho cabecalho = new Cabecalho("Cadastro de Marca");
paneCabecalho.add(cabecalho);
//efetua o binding
SwingBinder binder = new SwingBinder(this, marca);
binder.bind();
//prepara a tela para edição
this.limpar();
}
/*
* Para limpar os atributos numericos e colocar o foco no campo codigo
*/ @BeforeAction @AfterAction({“gravar”, “excluir”})
public void limpar() {
txtcodigo.requestFocus();
txtcodigo.setText("");
// txtdescricao.setText("");
}
@BeforeAction("excluir")
public boolean confirmaExclusao() {
return MsgUtils.showMsgConfirmaExclusao(this);
}
/**
* @param args the command line arguments
*/
public static void main(String args[]) {
java.awt.EventQueue.invokeLater(new Runnable() {
public void run() {
new FrmMarca().setVisible(true);
StartupHelper helper = new StartupHelper();
//StartupHelper helper = new StartupHelper(new Locale("pt", "BR"), "dd/MM/yyyy");
helper.setRunNoopCommand(false);
helper.setLoadValidatorRules(false);
helper.initialize();
}
});
}
[quote=Jjap]eu mesma tenho q tratar a exceção no try-catch??
o validator não deveria abrir uma optionPane com a mensagem q coloquei na anotação?
[/quote]
Primeiramente, desculpas pela demora em responder, é que estou bem atarefado !!!
Bem, eu só desenvolvo para Web, não sei se funciona igual, mais na Web em algum lugar eu tenho que comparar se o hibernate retornou algum erro na validação e exibir essas mensagens. Será que vc não teria que criar algum objeto que retornasse as mensagens ?? Infelizmente não vou poder te ajudar, mas dá um googleada e veja o que acha.