Olá.
Estou com uma duvida sobre como mapear umas classes.
Para explicar melhor, fiz um exemplo com uma classe Pessoa que possui um e um só objecto do tipo Carro.
Classe Pessoa
[code]public class Pessoa {
private int id;
private String nome;
private Carro carro;
public Pessoa() {
super();
// TODO Auto-generated constructor stub
}
public Carro getCarro() {
return carro;
}
public void setCarro(Carro carro) {
this.carro = carro;
}
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
public String getNome() {
return nomePai;
}
public void setNome(String nome) {
this.nome = nome;
}
}[/code]
Classe Carro
[code]public class Carro {
private int id;
private String modelo;
public Carro() {
super();
// TODO Auto-generated constructor stub
}
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
public String getModelo() {
return modelo;
}
public void setModelo(String modelo) {
this.modelo = modelo;
}
}[/code]
Eu estou a mapear a relação desta forma:
Pessoa.hbm.xml
[code]<hibernate-mapping>
<class name="com.testecenter.model.Pessoa" table="Pessoa">
<id name="id" type="integer">
<generator class="assigned"/>
</id>
<property name="nome" />
<many-to-one name="carro" column="carro_id"
class="com.testecenter.model.Carro" lazy="false"/>
</class>
</hibernate-mapping>[/code]
Carro.hbm.xml
[code]<hibernate-mapping>
<class name="com.testecenter.model.Carro" table="Carro">
<id name="id" column="id">
<generator class="assigned"/>
</id>
<property name="modelo" />
</class>
</hibernate-mapping>[/code]
Assim, fico com uma coluna carro_id, na tabela Pessoa, que vai ter a chave apontar para a tabela Carro.
O problema é que consigo fazer pesquisas mas não consigo inserir…
Eu acho que o problema está ao gerar as PK porque a PK do Carro tem de entrar na tabela Pessoa na coluna carro_id.
Alguem me pode dar uma ajuda ?[/b]