Olá,
estou tentando mapear uma List de enums em uma entidade porém sempre está dando a exceção abaixo:
Coloquei tambem minha entidade e meu enum logo abaixo.
Exception in thread "main" org.hibernate.MappingException: Could not determine type for: java.util.List, at table: PerfilTemp, for columns: [org.hibernate.mapping.Column(funcionalidades)]
at org.hibernate.mapping.SimpleValue.getType(SimpleValue.java:292)
at org.hibernate.mapping.SimpleValue.isValid(SimpleValue.java:276)
at org.hibernate.mapping.Property.isValid(Property.java:207)
at org.hibernate.mapping.PersistentClass.validate(PersistentClass.java:458)
at org.hibernate.mapping.RootClass.validate(RootClass.java:215)
at org.hibernate.cfg.Configuration.validate(Configuration.java:1149)
at org.hibernate.cfg.Configuration.buildSessionFactory(Configuration.java:1334)
at org.hibernate.cfg.AnnotationConfiguration.buildSessionFactory(AnnotationConfiguration.java:867)
at br.ufg.es.testes.Teste.main(Teste.java:27)
A minha entidade está da seguinte maneira:
@Entity
public class PerfilTemp implements Serializable {
private static final long serialVersionUID = 1L;
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
@Column(name = "id_perfil")
private Long id;
@Column(name = "perfil", length = 30, nullable = false)
private String perfil;
@ManyToMany
@JoinTable(name = "perfil_usuario", joinColumns = { @JoinColumn(name = "id_perfil") }, inverseJoinColumns = { @JoinColumn(name = "id_usuario") })
private Set<Usuario> usuarios = new HashSet<Usuario>();
//AQUI ESTÁ A MINHA LISTA DE ENUM
@Enumerated(EnumType.STRING)
@Column(name = "funcionalidades", nullable = true, length = 20, columnDefinition = "VARCHAR(20)")
private List<FuncionalidadesEnum> funcionalidades = new ArrayList<FuncionalidadesEnum>();
O meu Enum está basicamente da seguinte forma:
public enum FuncionalidadesEnum {
CADASTRAR_USUARIO("cadusuario"), EXCLUIR_USUARIO("excusuario"), ALTERAR_USUARIO(
"altusuario"), PESQUISAR_USUARIO("pesusuario");
private String funcionalidade;
private FuncionalidadesEnum(String funcionalidade) {
this.funcionalidade = funcionalidade;
}
public String getFuncionalidade() {
return this.funcionalidade;
}
Alguém já teve este problema? Como resolveu?