Galera estou com uma dificuldade nesse exemplo que estou testando aqui…
Bom preciso fazer com que ao inserir no banco a pessoa e o endereco preencha automaticamente o id_pessoa que está na classe cliente
Tem com fazer essa integridade referencial no hibernate annotations?
Meu Código
Classe Endereco
@Entity
@Table(name="endereco")
public class Endereco {
@Id
@GeneratedValue(strategy=GenerationType.SEQUENCE, generator="endereco_sequence_generator")
@SequenceGenerator(name="endereco_sequence_generator", sequenceName="seq_endereco",allocationSize= 1)
@Column(name="id", nullable= false)
private Long id;
private String logradouro;
private String numero;
private String complemento;
@OneToOne
@JoinColumn(name = "pessoa_id", referencedColumnName="id")
private Pessoa pessoa;
...
gets and sets
Essa é a classe Pessoa
@Entity
@Table(name="pessoa")
public class Pessoa {
@Id
@GeneratedValue(strategy=GenerationType.SEQUENCE,generator="pessoa_sequence_generator")
@SequenceGenerator(name="pessoa_sequence_generator", sequenceName="seq_pessoa",allocationSize= 1)
@Column(name="id", nullable= false)
private Long id;
@Column(name="nome", nullable= false)
private String nome;
...
gets and sets
Para inserir no banco estou fazendo assim
public class AdicionaProduto {
public static void main(String[] args) throws Exception {
Session session = new HibernateFactory().getSession();
Produto p = new Produto();
p.setNome("Pneu");
p.setDescricao("Pirelli");
p.setPreco(70.0);
Transaction t = session.beginTransaction();
session.saveOrUpdate(p);
t.commit();
System.out.println("Gravado com sucesso");
System.out.println("ID do produto: " + p.getId());
session.close();
}
Aguardo ajuda de vcs, valeu