Alguem sabe como fazer o mapeamento de chave múltipla??
Tentei olhar na documentação do hibernate nao consegui nada...
Code:
@Entity
public class Componentediretoria {
@Id
protected ComponentediretoriaPk pk;
protected Associado associado;
@SuppressWarnings("unused")
@Column(name="cddiretoria", nullable=false, updatable=false, insertable=false)
private Integer diretoria;
@SuppressWarnings("unused")
@Column(name="cdcargodiretoria", nullable=false, updatable=false, insertable=false)
private Integer cargoDiretoria;
@ManyToOne(fetch=FetchType.LAZY)
@JoinColumn(name="cdassociado")
public Associado getAssociado() {
return associado;
}
public void setAssociado(Associado associado) {
this.associado = associado;
}
public Diretoria getDiretoria() {
return pk.getDiretoria();
}
public CargoDiretoria getCargoDiretoria() {
return pk.getCargoDiretoria();
}
public void setDiretoria(Diretoria diretoria) {
pk.setDiretoria(diretoria);
}
public void setCargoDiretoria(CargoDiretoria cargoDiretoria){
pk.setCargoDiretoria(cargoDiretoria);
}
@Embeddable
private class ComponentediretoriaPk implements Serializable {
protected Diretoria diretoria;
protected CargoDiretoria cargoDiretoria;
@ManyToOne
public CargoDiretoria getCargoDiretoria() {
return cargoDiretoria;
}
@ManyToOne
public Diretoria getDiretoria() {
return diretoria;
}
public void setDiretoria(Diretoria diretoria) {
this.diretoria = diretoria;
}
public void setCargoDiretoria(CargoDiretoria cargoDiretoria) {
this.cargoDiretoria = cargoDiretoria;
}
}
}
Criei uma classe interna para representar a chave...
Mas quando vou ligar o JBOSS está dando o seguinte erro:
Code:
15:54:26,968 ERROR [ContextLoader] Context initialization failed
org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'sessionFactory' defined in null: Initialization of bean failed; nested exception is org.hibernate.MappingException: Could not determine type for: br.org.assima.siteassima.bean.Associado, for columns: [org.hibernate.mapping.Column(associado)]
org.hibernate.MappingException: Could not determine type for: br.org.assima.siteassima.bean.Associado, for columns: [org.hibernate.mapping.Column(associado)]
at org.hibernate.mapping.SimpleValue.getType(SimpleValue.java:266)
at org.hibernate.mapping.SimpleValue.isValid(SimpleValue.java:253)