Bom dia,
Tenho 3 Entitys, sendo Usuario, Regra e RegraUsuario.
A Usuario armazena o cadastro do usuario, a Regra Armazena as Regras e a RegraUsuario associa as regras aos usuarios. segue abaixo os codigos das entitys:
@Entity
@Table(name="INTRA_NESIC_USUARIO")
public class Usuario {
@Id @GeneratedValue
private Long id;
@Column(updatable = true, nullable = false)
private String nome;
@Column(updatable = true, nullable = false)
private String login;
@Column(updatable = true, nullable = false)
private String senha;
@Column(columnDefinition = "date DEFAULT GETDATE()", insertable = false, updatable = true, nullable = false)
private Date datacad;
@Column(columnDefinition = "int default 0", insertable = false, updatable = true, nullable = false)
private Long flgatv ;
@OneToMany(mappedBy="usuario", cascade=CascadeType.ALL)
private Collection<RegraUsuario> regraUsuarioList;
//getters e setters
@Entity
@Table(name="INTRA_NESIC_REGRA")
public class Regra {
@Id @GeneratedValue
private Long id;
@Column(updatable = true, nullable = false)
private String regra;
@Column(updatable = true, nullable = false)
private String descricao;
@Column(columnDefinition = "date DEFAULT GETDATE()", insertable = false, updatable = true, nullable = false)
private Date datacad;
@Column(columnDefinition = "int default 0", insertable = false, updatable = true, nullable = false)
private Long flgatv ;
@OneToMany(mappedBy="regra", cascade=CascadeType.ALL)
private Collection<RegraUsuario> regraUsuarioList;
//getters e setters
@Entity
@Table(name="INTRA_NESIC_REGRA_USUARIO")
public class RegraUsuario {
@Id @GeneratedValue
private Long id;
@ManyToOne @JoinColumn(name="usuario_id")
private Usuario usuario;
@ManyToOne @JoinColumn(name="regra_id")
private Regra regra;
@Column(columnDefinition = "date DEFAULT GETDATE()", insertable = false, updatable = false, nullable = false)
private Date datacad;
@Column(columnDefinition = "int default 0", insertable = false, updatable = false, nullable = false)
private Long flgatv ;
//getters e setters
<form id="usuariosForm" action="<c:url value="/usuarios"/>" method="POST">
<fieldset>
<legend>Criar novo usuário</legend>
<label for="nome">Nome:</label>
<input id="nome" class="required"
type="text" name="usuario.nome" value="${usuario.nome }"/>
<label for="regra_id">Regra:</label>
<c:forEach items="${regraUsuarioList}" var="regra" varStatus="s">
<input type="checkbox" name="usuario.regraUsuarioList[${s.index}].regra.id" value="${regra.id}"/> ${regra.regra }
</c:forEach>
<label for="login">Login:</label>
<input id="login" class="required"
type="text" name="usuario.login" value="${usuario.login}"/>
<label for="senha">Senha:</label>
<input id="senha" class="required" type="password" name="usuario.senha"/>
<label for="confirmacao">Confirme a senha:</label>
<input id="confirmacao" equalTo="#senha" type="password"/>
<button type="submit">Enviar</button>
</fieldset>
</form>
<script type="text/javascript">
$('#usuariosForm').validate();
</script>
Bom, agora o problema, quando cadastro o usuario ele é inserido normalmente na tabela Usuario porem o id dele vai com valor null para a tabela RegraUsuario, segue a tabela abaixo com o problema:
Entenderam?? tudo é cadastrado normalmente, só o usuario_id da tabela RegraUsuario que por algum motivo é gravado sempre null, alguem sabe o q fazer?? ja fiz de tudo e nao encontrei o problema.



