Tenho tres tabelas: categorias, artistas e artistas_categorias
preciso fazer uma consulta para listar todos os artistas da categoria atual.
consegui fazer o mapeamento com hibernate annotation, n sei se esta correto mas n esta dando erro…so nao consegui fazer a classe que vai listar os artistas. preciso passar um parametro da categoria atual para poder listar os artistas daquela categoria. Alguem pode me ajudar?
CategoriasVO.java
@Entity
@Table(name = "categorias")
public class CategoriasVO {
@Id
@GeneratedValue(strategy = GenerationType.AUTO)
@Column(name = "codigo")
private int codigo;
@Column(name = "nome")
private String nome;
@Column(name = "url")
private String url;
@ManyToMany
@JoinTable(name = "artistas_categorias",
joinColumns = {
@JoinColumn(name = "cod_categoria")
},
inverseJoinColumns = {
@JoinColumn(name = "cod_artista")
}
)
private Set<ArtistasVO> artistas = new HashSet<ArtistasVO>();
public CategoriasVO(){
}
public Set<ArtistasVO> getArtistas() {
return artistas;
}
public void setArtistas(Set<ArtistasVO> artistas) {
this.artistas = artistas;
}
public String getUrl() {
return url;
}
public void setUrl(String url) {
this.url = url;
}
public void setCodigo(int codigo) {
this.codigo = codigo;
}
public int getCodigo() {
return this.codigo;
}
public String getNome() {
return nome;
}
public void setNome(String nome) {
this.nome = nome;
}
}
ArtistasVO.java
@Entity
@Table(name = "artistas")
public class ArtistasVO {
@Id
@GeneratedValue(strategy = GenerationType.AUTO)
@Column(name = "codigo")
private int codigo;
@Column(name = "nome")
private String nome;
@ManyToMany(mappedBy = "artistas",
fetch = FetchType.LAZY, cascade = CascadeType.ALL)
private Set<CategoriasVO> categorias = new HashSet<CategoriasVO>();
public ArtistasVO() {
}
public Set<CategoriasVO> getCategorias() {
return categorias;
}
public void setCategorias(Set<CategoriasVO> categorias) {
this.categorias = categorias;
}
public int getCodigo() {
return codigo;
}
public void setCodigo(int codigo) {
this.codigo = codigo;
}
public String getNome() {
return nome;
}
public void setNome(String nome) {
this.nome = nome;
}
}