Mapeamento com chave composta URGENTE!

0 respostas
APaulinha

Boa tarde!!!

Sou iniciante em hibernate e estou tentando fazer o mapemento da seguinte situação:

[img]http://www.guj.com.br/upload/2010/11/19/63d39d018a71dde7bdb41b652fb99312_51671.gif__thumb[/img]

Porem meu relacionamento n-n de propriedade para tipo_propriedade_has_divisao_propriedade não está dando certo.

Abaixo o codigo

@Entity
@Table(name = "tipo_propriedade_has_dividsao_propriedade")
@AssociationOverrides(
 { @AssociationOverride(name = "pk.tipoPropriedade", 
		 				joinColumns = @JoinColumn(name = "tipo_propriedade_idtipo_propriedade")),
 @AssociationOverride(name = "pk.divisaoPropriedade", 
		 			  joinColumns = @JoinColumn(name = "divisao_propriedade_iddivisao_propriedade")) 
 })
public class TipoPropriedadeHasDivisaoPropriedade {

	@EmbeddedId
	private TipoPropriedadeHasDivisaoPropriedadePK pk;
	
	@OneToMany(fetch = FetchType.LAZY,
			 mappedBy = "",
			 cascade = { javax.persistence.CascadeType.PERSIST, javax.persistence.CascadeType.MERGE })
			 @Cascade( { CascadeType.SAVE_UPDATE})
	private Collection<PropriedadeHasTipoPropriedadeHasDivisaoPropriedade> propriedadeHasTipoPropriedadeHasDivisaoPropriedade =
		new LinkedList<PropriedadeHasTipoPropriedadeHasDivisaoPropriedade>();

	private boolean ativo;

	@Temporal(TemporalType.TIMESTAMP)
	private Calendar data_atualizacao;
@Entity
@SequenceGenerator(name = "propriedade_idpropriedade_seq", sequenceName = "propriedade_idpropriedade_seq")
@Table(name = "propriedade")
public class Propriedade {

	@Id
	@GeneratedValue(strategy = GenerationType.AUTO, generator = "propriedade_idpropriedade_seq")
	private Integer idpropriedade;

	private String nome;

	private String endereco;
	
	private Double area;
	
	private boolean ativo;

	@OneToMany(fetch = FetchType.LAZY,
			 mappedBy = "pk.propriedade",
			 cascade = { javax.persistence.CascadeType.PERSIST, javax.persistence.CascadeType.MERGE })
			 @Cascade( { CascadeType.SAVE_UPDATE})
	private Collection<PropriedadeHasTipoPropriedadeHasDivisaoPropriedade> propriedadeHasTipoPropriedadeHasDivisaoPropriedade =
		new LinkedList<PropriedadeHasTipoPropriedadeHasDivisaoPropriedade>();
@Entity
@Table(name = "propriedade_has_propriedade_has_divisao_propriedade")
@AssociationOverrides(
 {	@AssociationOverride(name = "pk.propriedade", joinColumns = @JoinColumn(name = "propriedade_idpropriedade")),
   
	@AssociationOverride(name = "pk.tipoPropriedadeHasDivisaoPropriedade",
   joinColumns = {@JoinColumn(name = "tipo_propriedade_has_divisao_propriedade_divisao_propriedade_id"),
   				  @JoinColumn(name = "tipo_propriedade_has_divisao_propriedade_tipo_propriedade_id")})})
public class PropriedadeHasTipoPropriedadeHasDivisaoPropriedade {

	@EmbeddedId
	private PropriedadeHasTipoPropriedadeHasDivisaoPropriedadePK pk;
@Embeddable
public class PropriedadeHasTipoPropriedadeHasDivisaoPropriedadePK implements Serializable{
	
	private static final long serialVersionUID = 1L;

	@ManyToOne(fetch = FetchType.LAZY)
	@JoinColumn(name = "idpropriedade")
	private Propriedade propriedade;
	
	@ManyToOne(fetch = FetchType.LAZY)
	@JoinColumns({
			@JoinColumn(name = "idtipo_propriedade"),
			@JoinColumn(name = "iddivisao_propriedade")
			})
	private TipoPropriedadeHasDivisaoPropriedade tipoPropriedadeHasDivisaoPropriedade;
@Embeddable
public class PropriedadeHasTipoPropriedadeHasDivisaoPropriedadePK implements Serializable{
	
	private static final long serialVersionUID = 1L;

	@ManyToOne(fetch = FetchType.LAZY)
	@JoinColumn(name = "idpropriedade")
	private Propriedade propriedade;
	
	@ManyToOne(fetch = FetchType.LAZY)
	@JoinColumns({
			@JoinColumn(name = "idtipo_propriedade"),
			@JoinColumn(name = "iddivisao_propriedade")
			})
	private TipoPropriedadeHasDivisaoPropriedade tipoPropriedadeHasDivisaoPropriedade;

Alguém poderia ajudar?

Criado 19 de novembro de 2010
Respostas 0
Participantes 1