Eae pessoal, beleza?
Dexa eu tentar explicar o que quero fazer mas estou apanhando…
Tenho um listbox que é populado com os dados do BD de uma tabela “dataset_inicial”… Quero fazer uma busca no banco na tabela “imagem_inicial” de todas as imagens cujo paramentro é “dataset_inicial” que eu escolher no meu listbox… (relacionamento de 1:N)
A verdade é que eu não sei como fazer, e fui tentando de varias maneiras, pesquisei… mas não consegui… ae venho mais uma vez pedir a ajuda de voces :oops:
Se alguem puder me ajudar, agradeço desde já!
o MB
@ManagedBean
@ViewScoped
public class ConsultaImagemBean {
@ManagedProperty(value="#{entityManagerBuilder.entityManager}")
private EntityManager entityManager;
private Imagem_inicial imagem_selecionado;
private List<Imagem_inicial> lista;
private boolean todos_diretorios;
public void Pesquisar(){
try {
if (todos_diretorios == true){
lista = getEntityManager().createQuery("from Imagem_inicial").getResultList();
} else {
//O PROBLEMA ESTA AQUI! NAO SEI COMO FAZER ;S
Query query = getEntityManager().createQuery("select im from Imagem_inicial im where im.dataset_ini = :dataset_ini");
query.setParameter("dataset_ini", /*O QUE POR AQUI PRA DAR CERTO?*/);
lista = query.getResultList();
}
} catch (Exception e) {
// TODO: handle exception
}
}
//GETTERS E SETTERS
o Model
@Entity
@Table(name="imagem_inicial")
public class Imagem_inicial implements Serializable {
private static final long serialVersionUID = 6620894928054638720L;
@Id
@SequenceGenerator(name="imageini", sequenceName="imagem_inicial_id_imageini_seq",allocationSize=1)
@GeneratedValue(strategy=GenerationType.SEQUENCE, generator="imageini")
@Column(name="id_imageini", unique=true, nullable=false)
private Integer idImageini;
@NotNull
@Column(name="caminho")
private String caminho;
@NotNull
@Column(name="nome_imagem")
private String nome_imagem;
@NotNull
@ManyToOne(fetch = FetchType.LAZY)
@JoinColumn(name = "id_datasetini")
private Dataset_inicial dataset_ini;
//GETTERS E SETTERS
xhtml
<h:panelGrid style="margin-left: 200px">
<h:outputLabel value="Busca pelo diretório:" />
<h:selectOneListbox id="busca_diretorio" disabled="#{consultaImagemBean.todos_diretorios}" value="#{dataset_inicialBean.dataini_selecionado}" style="width:200px; height:100px">
<f:selectItems value="#{dataset_inicialBean.lista}" var="dataini" itemValue="#{dataini.id_datasetini}" itemLabel="#{dataini.nome_datasetini}" />
</h:selectOneListbox>
</h:panelGrid>
<p:spacer height="20"/>
<p:separator />
<p:commandButton value="Pesquisar" action="#{consultaImagemBean.Pesquisar()}" update="dtbusca" icon="ui-icon-search" title="Pesquisar"/>
<br />
<p:dataTable id="dtbusca" emptyMessage="Nenhuma imagem encontrada" paginator="true" rows="15" value="#{consultaImagemBean.lista}" var="image_i" >
<p:column headerText="ID" style="width: 70px; text-align: center">
#{image_i.idImageini}
</p:column>
<p:column headerText="Nome arquivo Fits">
#{image_i.nome_imagem}
</p:column>
</p:dataTable>

