[RESOLVIDO]Hibernate - Select entre tabelas relacionadas

6 respostas
J

Como faço para quando listar todos os dados do usuário, trazer o nome da autorização que esse usuário possui. QUERO UTILIZAR CRITERIA.

Segue os códigos das duas classes

Classe Usuario

@Entity
@Table(name = "usuario")
public class Usuario implements Serializable {
	/*@Id
	@GeneratedValue(strategy = GenerationType.IDENTITY)
	// Gera um id único para cada registro de cliente
	private Long codUsuario;*/

	@Id
	@Column
	private String login;
	
	@Column
	private String nome;

	@Column
	private String senha;

	@Column
	private String email;
	
	@Column
	private String cargo;
	
	@Column
	private Boolean enable = true;

	@ManyToOne
	private Autorizacao autorizacao;

Classe Autorizacao

@Entity
public class Autorizacao 
{
	@Id
	@GeneratedValue(strategy = GenerationType.IDENTITY)
	private int id;
	
	@Column
	private String authority;

6 Respostas

romarcio
public List<Usuario> findAll() {
         return getSession().createCriteria(Usuario.class).list();
    }

Dentro de cada objeto usuário da lista, você terá o atributo autorização com o respectivo valor.

J

E como faço para mostra no dataTable? Pois no meu dataTable ao colocar value="#{alias.autorizacao}" ele traz um valor muito doido
-> com.suporte.model.Autorizacao@1c1681c

MiguelCP

você já fez os metodos hashcode e equals?

romarcio

jonatex:
E como faço para mostra no dataTable? Pois no meu dataTable ao colocar value="#{alias.autorizacao}" ele traz um valor muito doido
-> com.suporte.model.Autorizacao@1c1681c

Tenta colocar assim:value="#{alias.autorizacao.authority}"

J

Valeu fi.
Deu certo
:slight_smile:

romarcio

jonatex:
Valeu fi.
Deu certo
:)

:thumbup: Coloca o post como resolvido então, t+.

Criado 5 de outubro de 2011
Ultima resposta 5 de out. de 2011
Respostas 6
Participantes 3