Galera,
estou tendo dificuldade ao tentar recuperar objetos de uma classe @Many-to-Many
public class CompromissoParticipante {
@EmbeddedId
CompromissoParticipantePK pk = new CompromissoParticipantePK();
@ManyToOne(fetch = FetchType.EAGER, optional = false)
@JoinColumn(name="compromisso_id",insertable=false,updatable=false)
Compromisso compromisso;
@ManyToOne(fetch = FetchType.EAGER, optional = false)
@JoinColumn(name="participante_id",insertable=false,updatable=false)
Participante participante;
O código abaixo simplesmente não funciona para essa entidade(se eu pegar o SQL e rodar no banco funciona),onde estou errando?
Query q = getEntityManager().createQuery("from CompromissoParticipante c");
List<CompromissoParticipante> c= (List<CompromissoParticipante>)q.getResultList();
Qual mesagem aparece no console?
Qual provider você está usando (importante)?
Como foi feito a outra ponta do relacionamento?
[quote=Flavio Almeida]Qual mesagem aparece no console?
Qual provider você está usando (importante)?
Como foi feito a outra ponta do relacionamento?[/quote]
-Não aparece msg alguma,apenas a query SQL(que se eu jogar direto no banco roda);
- Hibernate;
- Segue o mapeamento completo:
Classe Compromisso
public class Compromisso {
@OneToMany(fetch = FetchType.EAGER,mappedBy="pk.compromisso", cascade = { CascadeType.PERSIST, CascadeType.MERGE }) List<CompromissoParticipante> compromissoParticipantes;
Classe Participante:
public class Participante implements Serializable{
@OneToMany(fetch = FetchType.LAZY,mappedBy="pk.participante", cascade = { CascadeType.PERSIST, CascadeType.MERGE }) List<CompromissoParticipante> compromissoParticipantes;
Classe N-N:
public class CompromissoParticipante {
@EmbeddedId
CompromissoParticipantePK pk = new CompromissoParticipantePK();
@ManyToOne(fetch = FetchType.EAGER, optional = false)
@JoinColumn(name="compromisso_id",insertable=false,updatable=false)
Compromisso compromisso;
@ManyToOne(fetch = FetchType.EAGER, optional = false)
@JoinColumn(name="participante_id",insertable=false,updatable=false)
Participante participante;
PK:
public class CompromissoParticipantePK implements Serializable {
@ManyToOne(fetch = FetchType.EAGER, optional = false)
Compromisso compromisso;
@ManyToOne(fetch = FetchType.EAGER, optional = false)
Participante participante;