Estou com o seguinte problema.
Meu usuario tem q preencher um formulário e numa lista de usuarios, pode checar algums usuário e colocar um comentario para o usuário checado.
No bando de dados eu tenho uma tabela q grava isso, a tabela tem os campos FORMULARIO_ID, USUARIO_ID e COMENTARIO.
Caso sejam checados 3 formulários seram gerados tres registro, bem isso é esta claro.
Porém o comentario não é obrigatório, e por algum motivo toda vez que eu salvo esse formulario ele cria um novo registro quando o comentario é null.
Se o usuário estiver editando o formulário, todos os usuario da lista checados e que não tenham comentario, seram duplicados no banco. Caso o cometario esteja preenchido o registro é alterado normalmente.
no mapeamento da minha classe Formulario eu tenho a seguinte situação:
<set name="usuariosForm" table="USUARIO_X_FORMULARIO" cascade="all">
<key column="FORMULARIO_ID" />
<composite-element class="UsuariosForm">
<many-to-one name="usuario" column="USUARIO_ID" />
<property name="comentario" column="COMENTARIO" />
</composite-element>
</set>
O mapeamento da classe UsuarioForm esta assim
<?xml version="1.0"?>
<!DOCTYPE hibernate-mapping PUBLIC
"-//Hibernate/Hibernate Mapping DTD 3.0//EN"
"http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd">
<hibernate-mapping>
<class name="UsuarioForm" table="USUARIO_X_FORMULARIO">
<composite-id>
<key-many-to-one name="formulario" column="FORMULARIO_ID" class="Formulario" />
<key-many-to-one name="usuario" column="USUARIO_ID" class="Usuario"/>
</composite-id>
<property name="comentario" column="COMENTARIO" length="30" />
</class>
</hibernate-mapping>
Alguem sabe identificar oq estou fazendo de errado?
tks…