turma to com uma duvida conceitual ! tipo eu tenho um bean Usuario e agora tenho q colocar um TipoUsuario(“super usr”,“usr comum”,“adm”) sendo q um usuario pode ter mais de um tipo, ou seja, um unico usuario pode ser “adm” e “super usr” ou “usr” e “adm” e por ai vai. Sei q tem varias maneiras q eu poderia fzr isso, minhas ideias foram:
1- criar um classe TipoUsuario e mapear com Usuario de @OneToMany!
PROBLEMA = nao sei se tem como, mas como eu colocaria valores pre-definidos usando hibernate?
2- pensei em criar um array de enum(TipoUsuario)!
PROBLEMA = Hibernate nao vai conseguir mapear ! eu acho ? acho tb q nao da para fzr isso no hibernate?
aguem pode dar uma luz, se por exemplo o item 1 é uma boa pratica se for como resolveria o problema descrito, e se o item 2 tb e possivel e como resolver !
2- pensei em criar um array de enum(TipoUsuario)!
PROBLEMA = Hibernate nao vai conseguir mapear ! eu acho ? acho tb q nao da para fzr isso no hibernate?
O Hibernate consegue mapear perfeitamente enums. Você só precisa usar a anotação @Enumerated.
[]´s
dijava
sim mas eu preciso de um array de Enum pos pode ter mais de um TipoUsuario selecionado!
finotti
Eu uso da seguinte forma:
@Entity
@Table(name="usuario")
@Inheritance(strategy = InheritanceType.SINGLE_TABLE)
@DiscriminatorColumn(name = "tipo_usuario", discriminatorType = DiscriminatorType.STRING)
@DiscriminatorValue("USUARIO")
public class Usuario implements Serializable {}
@Entity
@DiscriminatorValue("ADMIN")
public class UsuarioAdmin extends Usuario {}
@Entity
@DiscriminatorValue("CLIENTE")
public class UsuarioCliente extends Usuario {}
só agora vi que seu usuário pode ter mais de um “tipo”. :oops:
então essa minha idéia não funciona.
dijava
interessante !!! mas como ficaria a no banco ? uma tabela só com uma coluna com valores separados por alguam char ou uma outra tabela ? como fica ?
dijava
ops desconsidere entao o ultimo post
finotti
No exemplo que postei acima, cada usuário pode ter apenas um perfil.
E a tabela “Usuario” tem uma coluna (tipo_usuario) onde é gravado esse perfil.
marcelo.bellissimo
Você quer valores fixos?
Não é melhor uma tabela USUARIO, outra PERFIL (ou tipo, whatever), e uma associativa USUARIO_PERFIL ?
Voce cadastra N usuários, N perfis, e associa o usuário com quantos perfis for preciso.