0
I need to list information from the two tables on the same grid, they have relationship created by Ibernate itself. You would need the vendor name in the table shown below
In case it would be these classes:
Model:
public class Produto {
@Id
@GeneratedValue
private Integer id;
private String nome;
private String marca;
private String categoria;
private double preco;
@ManyToMany
private List<Fornecedor> fornecedor = new ArrayList<Fornecedor>();
public List<Fornecedor> getFornecedor() {
return fornecedor;
}
public void adicionaFornecedor(Fornecedor fornecedor) {
this.fornecedor.add(fornecedor);
}
@ManyToMany
private List<Produto> produtos = new ArrayList<Produto>();
public List<Produto> getProdutos() {
return produtos;
}
public void adicionaProduto(Produto produtos) {
this.produtos.add(produtos);
}
public Produto (){
}
/*getter and setters*/
@Entity
@Embeddable
public class Fornecedor {
@Id
@GeneratedValue
private int id;
private String nome;
private Integer telefone;
private String email;
@ManyToMany
private List<Fornecedor> fornecedores = new ArrayList<Fornecedor>();
public List<Fornecedor> getFornecedores() {
return fornecedores;
}
public void adicionaFornecedor(Fornecedor fornecedores) {
this.fornecedores.add(fornecedores);
}
/*getter and setters*/
<p:dataTable value="#{produtoBean.produtos}" var="produto"
paginatorTemplate="{CurrentPageReport} {FirstPageLink} {PreviousPageLink} {PageLinks} {NextPageLink} {LastPageLink}"
paginator="true" rows="5" style="margin-bottom:10px">
<p:column >
<f:facet name="header">Nome</f:facet>
<h:outputText value="#{produto.nome}" />
</p:column>
<p:column>
<f:facet name="header">Marca</f:facet>
<h:outputText value="#{produto.marca}" />
</p:column>
<p:column>
<f:facet name="header">Categoria</f:facet>
<h:outputText value="#{produto.categoria}" />
</p:column>
<p:column>
<f:facet name="header">Preço</f:facet>
<h:outputText value="#{produto.preco}" />
</p:column>
</p:dataTable>
Your entities even have these self-relationships?
Produto
has@ManyToMany
Produto
? Gives a better formatted entities as well, got a little confused. It is not possible to easily identify the end of classesProduto
andFornecedor
.– DiegoM