[RESOLIVDO] - Taglib com relacionamento do Hibernate

8 respostas
101574

Boa tarde galera,

Como eu faço pra pegar uma relacionamento entre tabelas no hibernate. Com taglib.
Por exemplo.

Tenho uma tabela chamada sistemas, e relacionei com modulos.
Ou seja, tem um campo chamado sistemas_id em modulos.
Como eu chamo esse campo pra listar com taglib.
Sendo

private Sistemas sistemas;

8 Respostas

Rodrigo_Sasaki

Cara, se você continuar criando tópicos quadruplicados pra suas dúvidas, o pessoal vai parar de te responder.

Hebert_Coelho

taglib de que? JSF? JSP? Struts?

Hebert_Coelho

digaoneves:
Cara, se você continuar criando tópicos quadruplicados pra suas dúvidas, o pessoal vai parar de te responder.
Realmente desnecessário.
Desespero leva a que?

Desnecessário isso…

http://www.guj.com.br/java/281527-duvida-sobre-hibernate
http://www.guj.com.br/java/281525-taglib
http://www.guj.com.br/java/281524-taglib
http://www.guj.com.br/java/281523-taglib
http://www.guj.com.br/java/281420-taglib

lelodois

???

ViniGodoy

Por favor, não duplique tópicos. Será que você ainda não percebeu que com essa atitude você só acaba com tópicos trancados?

Esse tópico foi o único mantido aberto, pois já tinha mais respostas.

Rafael_Guerreiro

Vc poderia mostrar o código e explicar melhor o seu problema.

Com perguntas ruins você recebe respostas ruins.

Tente assim:

<c:forEach items="${sistemas}" var="sys">
   ${sys.modulo}
</c:forEach>
101574

Cara,

Pra pagar sapo você recebe mil comentários. Aff!

Consegui resolver.

O que eu queria, era saber como chamar um relacionamento um para muitos, na taglib.

Tenho

Sistema tem muitos Módulos.

Ficou assim.

@Entity
public class Sistemas {
	@Id
	@GeneratedValue
	private long id;
	private String nome;
	private String ativo;
	private String url;
	private String imagem;
	@OneToMany(mappedBy = "sistemas",targetEntity= Modulos.class,
	fetch = FetchType.LAZY, cascade = CascadeType.ALL)
	private List<Modulos>modulos;

	//Métodos get e set
@Entity
public class Modulos {
	@Id
	@GeneratedValue
	private long id;
	private String nome;
	private String ativo;
	private String url;
	private String imagem;
	
	//Relacionamento com Sistemas
	@ManyToOne
	@JoinColumn(name="sistemas_id")
	private Sistemas sistemas;

Para listar o nome do sistema, e o dados do módulo, como eu faço isso?

Consegui assim.

<table align="center">
<thead>
<tr>
<th>Sistema</th>
<th>Nome</th>
<th>Página</th>
<th>Imagem</th>
<th>Ativo</th>
<th>Alterar</th>
<th>Excluir</th>
</tr>
</thead>
<tbody>
<c:forEach items="${modulosList}" var="modulos">
<tr>
<td>${modulos.sistemas.nome}</td>
<td>${modulos.nome}</td>
<td>${modulos.url}</td>
<td>${modulos.imagem}</td>
<td>${modulos.ativo}</td>
&lt;td&gt;<a /modulos/${modulos.id}"/>&quot;&gt;Editar</a>&lt;/td&gt;
&lt;td&gt;&lt;form action="&lt;c:url value="/modulos/${modulos.id}"/&gt;&quot;method=&quot;POST&quot;&gt;&lt;button class="link" name="_method" value="DELETE"&gt;Remover&lt;/button&gt;&lt;/form&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;/c:forEach&gt;
&lt;/tbody&gt;
&lt;tr&gt;<a /modulos/novo"/>&quot;&gt;Novo Módulo</a>&lt;/tr&gt;
&lt;/table&gt;

O Segredo está aqui.

&lt;td&gt;${modulos.sistemas.nome}&lt;/td&gt;

Eu consigo recuperar o nome, o id ou seja qualquer atributo do meu sistema, referente ao meu módulo.

Valeu,

Tópica resolvido.

Ataxexe

Não me leve a mal, mas se você tivesse postado exatamente isso no primeiro post (e ter criado somente um tópico) não teria recebido os puxões de orelha. Você não especificou o seu problema e ainda criou diversos tópicos.

Criado 3 de setembro de 2012
Ultima resposta 3 de set. de 2012
Respostas 8
Participantes 7