olá pessoal, encontrei dificultades para fazer o mapeamento com o Hibernate na seguinte situação (ex):
Tabelas:
evento
-------------------------
evento_id
evento_nome
evento_pessoa
-------------------------
evento_id
pessoa_id
agenda_situacao
pessoa
-------------------------
pessoa_id
pessoa_nome
Classes:
public class Evento {
private Long id;
private String nome;
private Set participantes = new HashSet();
public evento(){}
//métodos set e get
}
public class Pessoa {
private Long id;
private String nome;
private Set eventos = new HashSet();
public Pessoa(){}
//métodos set e get
}
Mapeamento:
<class name="Pessoa" table="pessoa">
<id name="id" column="pessoa_id">
<generator class="native"/>
</id>
<property name="nome" type="string" column="pessoa_nome"/>
<set name="eventos" table="evento_pessoa">
<key column="pessoa_id"/>
<many-to-many column="evento_id" class="Evento"/>
</set>
</class>
<class name="Evento" table="evento">
<id name="id" column="evento_id">
<generator class="native"/>
</id>
<property name="nome" type="string" column="evento_nome"/>
<set name="participantes" table="evento_pessoa" inverse="true">
<key column="evento_id"/>
<many-to-many column="pessoa_id" class="Pessoa"/>
</set>
</class>
Problema:
Na tabela evento_pessoa existe o campo agenda_situacao (char ou character), eu gostaria de ter alguma idéia para mapear esse campo e fazer com que o hibernate persista corretamente as classes.
Pensei em criar outra classe (ex.) Evento_Situacao para mapear a tabela de associação evento_pessoa, depois eu criaria um Set dessa classe em Pessoa, mas isso parece incorreto (e um xunxo muito feio ).
Também pensei em colocar um atributo em Pessoa ou Evento para mapear agenda_situacao, mas esse campo é referente à associação.
Espero não ter complicado muito ao descrever o problema
Grato.