Bom dia!!
Eu estou com um caso do hibernate-annotations que eu não estou conseguindo resolver. No xml eu consigo resolver, mas no annotations eu não sei como fazer ainda.
Eu tenho duas entidades, cada uma tem chave composta e elas tem uma associação, uma empresa tem vários armazens. As colunas de ligação entre elas, está na chave composta, eu poderia colocar a ligação simplesmente na chave composta e já bastaria, entretanto eu quero criar uma propriedade a parte, ou seja, criar a propriedade do tipo Empresa em Armazem, e fazer a ligação nela.
Antes estava apontando um erro, dizendo que existia coluna repetida mapeada. Eu coloquei a opção insertable=“false” e updatable=“false” e não apontou o erro e inseriu no banco, tudo beleza!!! Só que eu usei o hibernate-tools, e ele criou dois campos a mais na minha tabela de Armazem, justamente os campos que eu apontei como coluna de ligação. No xml eu resolvi colocando na tag a opção mapped=“true”.
Prigunta: Vocês sabem aonde eu coloco essa opção mapped=true no annotations?!!!
@Entity
@Table(name="SE_ARMAZEM")
@XStreamAlias("Armazem")
public class ArmazemBean implements Serializable {
@Id
private ArmazemPKBean armazemPK;
@ManyToOne(targetEntity = EmpresaBean.class, cascade=CascadeType.PERSIST)
@Cascade(org.hibernate.annotations.CascadeType.SAVE_UPDATE)
@JoinColumns({
@JoinColumn(name="se06_mat_gru", referencedColumnName="SS02_MAT_GRU", insertable=false, updatable=false),
@JoinColumn(name="se06_empresa", referencedColumnName="SS02_EMPRESA", insertable=false, updatable=false)
})
private EmpresaBean empresa;
@Column(name="se06_nomearm")
@XStreamAlias("descricao")
private String nome;
@Column(name="SE06_DTALTER")
@XStreamAlias("dtAlteracao")
private String dataAlteracao;
@Column(name="SE06_HOALTER")
@XStreamAlias("hrAlteracao")
private String horaAlteracao;
/**
* Metodo construtor da classe
*/
public ArmazemBean() {
super();
}
valeu!!