Ola a todos…
sou meio leigo ainda no assunto… e estou quebrando a cabeça para executar um select em uma entidade
gostaria de retornar os cargos que tem o cargo x como subordinado
campos da Entidade Cargo:
@Id
@GeneratedValue(strategy=GenerationType.AUTO)
private Long id;
@Column(length=25, nullable=false)
private String descricao;
@ManyToMany(cascade={CascadeType.ALL})
@JoinTable(name="cargo_subordinados", joinColumns = {
@JoinColumn(name="cargo_id")
}, inverseJoinColumns = {
@JoinColumn(name="subordinado_id")
})
private Set<Cargo> subordinados
tentei dessa forma, mas da erro…
Set subordinados = new new HashSet();
subordinados.add(cargoX);
List cargos = cargoServico.buscarPorSubordinados(subordinados);
tambem mudei no where abaixo de = para like e para in, pq um cargo pode ter ‘N’ subordinados, mesmo assim da erro…
metodo em cargoServico:
public List<Cargo> buscarPorSubordinados(Set<Cargo> subordinados) {
EntityManager manager = getEntityManager();
String queryString = "select c from Cargo c";
queryString += " where c.subordinados = :subordinados";
Query query = manager.createQuery(queryString);
query.setParameter("subordinados", subordinados);
List<Cargo> cargos = query.getResultList();
return cargos;
}
quem poder me dar um help eu agradeço desde ja…
Andre Luis