@Entity@Table(name="USUARIO")publicclassUsuarioimplementsSerializable{privatestaticfinallongserialVersionUID=3648175213027874831L;@Id@GeneratedValue@Column(name="ID_USUARIO")privatelongid;@Column(name="LOGIN")@org.hibernate.annotations.NaturalIdprivateStringlogin;@Column(name="SENHA")privateStringsenha;@Column(name="ATIVO")privatebooleanativo;@ElementCollection(targetClass=String.class)@JoinTable(name="USUARIO_PERMISSAO",uniqueConstraints={@UniqueConstraint(columnNames={"usuario","permissao"})},joinColumns=@JoinColumn(name="usuario"))@Column(name="permissao",length=50)privateSet<String>permissao=newHashSet<String>();// Lista que armazena as permissões do usuário.....// getters e setters
Já havia tentando esta abordagem, mas tbém gera erro:
A
alissonvla
coloca assim, sem target
@ManyToMany(fetch=FetchType.LAZY)
W
wesllhey
Um exemplo de um simples relacionamento
@Entity@Table(name="compra")publicclassCompra{@Id@GeneratedValueprivatelongid;//esta se relacionando com a classe Pessoa@ManyToOne@JoinColumn(name="pessoa_id")// e essa é a coluna do id da PessoaprivatePessoapessoa;@ManyToOne@JoinColumn(name="produto_id")privateProdutoproduto;@Column(name="quantidade")privateintquantidade;@Column(name="preco_produto")privatedoubleprecoProduto;@Column(name="preco_total")privatedoubleprecoTotal;@Temporal(TemporalType.DATE)@Column(name="data_compra")//gets e sets
essa é a classe Pessoa
@Entity@Table(name="pessoa")publicclassPessoa{@Id@GeneratedValue//o relacionamento esta vindo para essa coluna@Column(name="pessoa_id")privatelongid;@Column(name="nome")privateStringnome;@Temporal(TemporalType.DATE)@Column(name="data_nascimento")privateDatedataNascimento;@Enumerated(EnumType.STRING)@Column(name="sexo")privateTipoSexosexo;@NaturalId@Column(name="email")privateStringemail;@Column(name="senha")privateStringsenha;@Column(name="estatus")privateintestatus;
espero ter ajudado!!!
H
Hebert_Coelho
Cara, eu to lendo um livro e nele não mostra como mapear uma lista de String.
Fiquei curioso para fazer isso funcionar.
Faz o seguinte, deixa o @ManyToMany e retire a anotação @Column(name = “permissao”, length = 50).
Desculpe reabrir o tópico, mas alguém chegou a solução???
Estou passando pelo mesmo problema, e todos os exemplos que foram apresentados não deram certo.
Alguém conseguiu???
Obrigado
A
alois
Gente,
Estou lendo o mesmo livro e o autor fala que seria melhor para a aplicação acessar os dados de uma tabela com chaves estrangeira desta forma.
Também estou com o mesmo problema e se alguém puder colocar a solução estaria-mos agradecidos.
Error:
Caused by: org.hibernate.MappingException: Could not determine type for: java.util.List, for columns: [org.hibernate.mapping.Column(diasSemana)]