Hibernate: @onetomany não carrega lista

3 respostas
E

não estou conseguindo carregar os dados de uma tabela em uma consulta. os objetos da tabela role não sao carregados. Já tentei diversas alternativas, mas nenhuma funciona.
Até já procurei se existe algum problema com o mysql, mas nao aachei nada.To usando mysql5 innodb

tabela users:
pk
id login password activated
1   x        x              1

tabela role:

pk   fk
id id_user name
1    1         admin
2    1         user
public class User implements UserDetails, Serializable {
@Column
@Id
private Long id;

@Column
private String login;

@Column
private String password;

@Column
private boolean activated = true; 


@Transient
@OneToMany(mappedBy="user") 
private List<Role> roles = new ArrayList<Role>();



public class Role implements GrantedAuthority, Serializable {


@Column
@Id
private Long id;


@Column
private String name;



@Transient
@ManyToOne
@JoinColumn(name="id_user")
private User user;

O select gerado é esse:

Hibernate:
select
user0_.id as id1_,
user0_.activated as activated1_,
user0_.login as login1_,
user0_.password as password1_ 
from
user user0_ 
where
user0_.login=?

3 Respostas

E

Por que vc anotou como @Transient ?
e quel o codigo que ta gerando esse select ?

alanbrasil1984

Brother tira o @transient e coloca fetch=Fetchtype.EAGER.

E

alanbrasil1984:
Brother tira o @transient e coloca fetch=Fetchtype.EAGER.

Funcionou!!

Eu botei @transient pq e um determinado momento do desenvolvimento tinha dado um erro que n lembro agora, mas depios que botei @transient sumiu. Devia ser outra coisa…

Criado 21 de julho de 2009
Ultima resposta 21 de jul. de 2009
Respostas 3
Participantes 3