Opa boa noite a duvida pode ser boba, más como seria a JPQL com os seguintes caompos.
@OneToMany(fetch = FetchType.LAZY, mappedBy = "compra")
private List<ParcelaCompra> parcelaCompras = new ArrayList<ParcelaCompra>();
Depois.
@ManyToOne
@JoinColumn(name = "compra_codigo")
private Compra compra = new Compra();
Tenho uma relação bidiricional , quero fazer um select que tras a lista compraParcela com suas parcelas, meu jpql tá assim, queria implementar isso.
@SuppressWarnings("unchecked")
public List<Compra_produto> lista() {
return manager
.createQuery(
"Select cp from Compra_produto cp join fetch cp.compra join fetch cp.produto")
.getResultList();
}
Falta implementar o jpql.
E como faria para navegar como orientação objeto do meu html? Tipo que que o meu table mostrasse uma coluna da minha tabela parcelaCompra.
<p:dataTable reflow="true"
emptyMessage="Nenhuma compra encontrada" paginator="true"
rows="5" value="#{compraBean.listaCompraProdutos}" var="clcp">
<f:facet name="header">
Tabela da compra
</f:facet>
<f:facet name="footer">
<p:commandButton value="Inserir" icon="fa fa-fw fa-plus"
style="width:100px" styleClass="secondary"
actionListener="#{compraBean.novo}" update=":formularioNovo"
oncomplete="PF('inserir').show();" />
</f:facet>
<p:column headerText="Código" filterBy="#{clcp.compra.codigo}">
<h:outputLabel value="#{clcp.compra.codigo}" />
</p:column>
<p:column headerText="Data" filterBy="#{clcp.compra.data}">
<h:outputLabel value="#{clcp.compra.data}"
converter="dataConverter" />
</p:column>
<p:column headerText="Valor restante"
filterBy="#{clcp.compra.precoPagar}">
<h:outputLabel value="#{clcp.compra.precoPagar}">
<f:convertNumber type="currency" pattern="R$ #0.00"
currencySymbol="R$" locale="pt_BR" />
</h:outputLabel>
</p:column>
<p:column headerText="Preço pago"
filterBy="#{clcp.compra.precoPago}">
<h:outputLabel value="#{clcp.compra.precoPago}">
<f:convertNumber type="currency" pattern="R$ #0.00"
currencySymbol="R$" locale="pt_BR" />
</h:outputLabel>
</p:column>
<p:column headerText="Valor total"
filterBy="#{clcp.compra.precoTotal}">
<h:outputLabel value="#{clcp.compra.precoTotal}">
<f:convertNumber type="currency" pattern="R$ #0.00"
currencySymbol="R$" locale="pt_BR" />
</h:outputLabel>
</p:column>
<p:column headerText="Fornecedor"
filterBy="#{clcp.fornecedor.nome}">
<h:outputText value="#{clcp.fornecedor.nome}" />
</p:column>
ALGO COMO.
<p:column headerText="Codigo parcela"
filterBy="#{clcp.compra.parcelaCompras.codigo}">
<h:outputText value="#{clcp.compra.parcelaCompras.codigo}" />
</p:column>
Deu para entender? Como to passando um atributo do tipo List, no collumn pode dar erro, Como seria feito? Isso é apenas um teste, que quero fazer em outra parte do projeto..