Olá pessoal, Estou tentando listar os dados de uma tabela associativa, mas estou encontrando o seguinte problema: Esta vindo vazio
Meu método atual esta o seguinte:(PessoaTimeDAO)
public List<PessoaTime> listarParticipantes(Time time) {
String consulta = "select pt from PessoaTime pt where pt.time.id = :timeId";
Query query = getEm().createQuery(consulta);
query.setParameter("timeId", time.getId());
List<PessoaTime> participantes = query.getResultList();
return participantes;
}
Chamando ele desta forma:(TimeBean)
public List<PessoaTime> listarParticipantes(){
return pessoaTimeDAO.listarParticipantes(time);
}
Exibindo desta forma:(listarParticipantes.xhtml)
<p:dataTable styleClass="table" var="time"
value="#{timeMB.listarParticipantes()}">
<p:column headerText="idPessoa">
<h:outputText value="#{pessoa.nomeUsuario}" />
</p:column>
<p:column headerText="idPessoa">
<h:outputText value="#{pessoa.id}" />
</p:column>
</p:dataTable>
Para quem estiver com duvida das classes, vou colocar algumas models.
PessoaModel:
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
@Column (name = "id_Pessoa")
private Integer id;
@Column()
private String nomeUsuario;
@Column()
private String senhaUsuario;
@Column()
private String nomeCompleto;
@Column()
private String email;
@Column()
private Integer idade;
@OneToMany(mappedBy = "pessoa", cascade = CascadeType.MERGE)
private List<PessoaTime> listaPessoaTime;
TimeMode:
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
@Column (name = "id_Time")
private int id;
@Column(nullable = false)
private String nome;
@Column(nullable = false)
private String senhaTime;
@OneToMany(mappedBy = "time",cascade = CascadeType.MERGE)
private List<PessoaTime> listaPessoaTime;
PessoaTimeModel:
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
@Column (name="id_PessoaTime")
private Integer id;
@ManyToOne(cascade = CascadeType.MERGE)
@JoinColumn(name="id_pessoa")
private Pessoa pessoa;
@ManyToOne(cascade = CascadeType.MERGE)
@JoinColumn(name="id_time")
private Time time;
@Enumerated(EnumType.STRING)
private Cargo cargo;