usuario usuarioMenu menu
--------- ---------------- ---------
- idUsuario - chaveComposta - idMenu
- data
minhas classes:
@Entity
public class Usuario {
@Id
@GeneratedValue
private long id;
@Entity
public class Menu {
@Id
@GeneratedValue
private long id;
@Entity
public class MenuUsuario {
@EmbeddedId
private MenuUsuarioPK chaveComposta;
private Boolean permisao;
@Embeddable
public class MenuUsuarioPK implements Serializable {
@ManyToOne(fetch = FetchType.EAGER)
@JoinColumn(name="idUsuario")
private Usuario usuario;
@ManyToOne(fetch = FetchType.EAGER)
@JoinColumn(name = "idMenu")
private Menu menu;
public List<MenuUsuario> listaPorUsuario(Usuario u) {
MenuUsuarioPK mupk = new MenuUsuarioPK();
mupk.setUsuario(u);
mupk.setMenu("??");
Criteria crit = getSession().createCriteria(MenuUsuario.class);
crit.add(Restrictions.eq("chaveComposta", u));
return crit.list();
}
Na linha 04 se eu não setar um menu, o resultado e zero.
Alguém sabe como resolver esse tipo de consulta com chave composta ??? Obrigado !!