Saudações aos colegas de desenvolvimento…
Estou com um grande problema em Hibernate.
Tenho duas classes (aquele exemplo besta de quem ta começando) 
@Entity
@Table(name = "aluno")
public class Aluno implements Serializable {
private static final long serialVersionUID = 1L;
@Id
@GeneratedValue(strategy = GenerationType.AUTO)
@Basic(optional = false)
@Column(name = "idaluno")
private Integer idaluno;
@Column(name = "dataCadastro")
private String dataCadastro;
@Column(name = "nome")
private String nome;
@Column(name = "dataNascimento")
private String dataNascimento;
@Column(name = "nacionalidade")
private String nacionalidade;
@Column(name = "naturalidade")
private String naturalidade;
@Column(name = "sexo")
private String sexo;
@Column(name = "rg")
private String rg;
@Column(name = "cpf")
private String cpf;
@Column(name = "foto")
private String foto;
@Column(name = "ativo")
private Boolean ativo;
@Column(name = "certNascimento")
private String certNascimento;
@Column(name = "escolaOrigem")
private String escolaOrigem;
@Column(name = "login")
private String login;
@Column(name = "senha")
private String senha;
@Column(name = "observacao")
private String observacao;
//mapeando o endereço
@OneToOne(cascade=CascadeType.ALL)
@JoinColumn(name="endereco_idendereco")
private Endereco endereco;
//mapeando os responsáveis
@OneToMany(mappedBy="aluno",cascade=CascadeType.ALL)
private List<Responsavel> responsaveis;
(... gets e sets)
e
@Entity
@Table(name = "endereco")
public class Endereco implements Serializable {
private static final long serialVersionUID = 1L;
@Id
@GeneratedValue(strategy = GenerationType.AUTO)
@Basic(optional = false)
@Column(name = "idendereco")
private Integer idendereco;
@Column(name = "rua")
private String rua;
@Column(name = "numero")
private Integer numero;
@Column(name = "bairro")
private String bairro;
@Column(name = "cidade")
private String cidade;
@Column(name = "uf")
private String uf;
@Column(name = "cep")
private String cep;
@OneToOne
@JoinColumn(name="contato_idcontato")
private Contato contato;
@OneToOne(mappedBy="endereco")
private Aluno aluno;
(..gets e sets)
Meu problema é quando eu faço um inserção de aluno, quero que o endereço também seja persistido e o idendereco vá para a chave estrangeira de aluno.
Faço todo o processo de configuração no xml ( e outras coisas) abro sessão, inicio um atransação, seto os atributos de endereço, seto os atributos de aluno, atribuo o endereço ao aluno (setEndereco(e)) e mando persistir…
AI VEM A BRONCA…
Dava uma mensagem de endereco_idendereco não pode ser null… se ele era pra ser relacionado com o aluno pq o Hibernate ta tentando colocar null nessa coluna, onde deveria de estar o id do endereço que persistiu…
Algum erro em meu mapeamento?
Por favor, me ajudem…