public class User {
@Id
private Integer user_id;
private String firstname;
private String lastname;
@OneToOne
private Address address;
}
e a tabela Address
public class Address{
@Id
private Integer address_id;
private String street;
private String zipcode;
private String city;
}
Como faço para que o hibernate injete a PK de User (user_id) em PFK de Address(address_id) ?
O que quero fazer é algo assim:
User user = new User();
//em seguida seta propriedades de user
Address address = new Address();
//em seguida seta propriedades de address, exceto id que deve ser injetado pelo hibernate
u.setAddress( address );
session.save( user );
Rodrigo, fiz o que vc sugeriu, porém o hibernate nao mapeou os dados do Objeto Address para o banco. Fiz a chamada da seguinte maneira:
User user = new User();
//setei as propriedades de user
Address address = new Address();
//setei as propriedades de address
user.setAddress( address );
address.setUser( user );
session.save( user );
Quando tentei fazer o que o amigo acima sugeriu, de inserir CascadeType, ocorreu o seguinte erro:
org.hibernate.id.IdentifierGenerationException: ids for this class must be manually assigned before calling save(): br.hibernate.model.Address