им обучения Jsf окружающей среде, SRY, если это вид простой случай для вас,заселить primefaces DataTable из nativeQuery
Im пытаясь заполнить primefaces DataTable из родного запроса, это то, что я получил в тот момент
//My native query is defined in my entity
@NamedNativeQueries({@NamedNativeQuery(name="Tallt089.bandejaCitas",
query ="select bandeja.ep_id_tallt089 idBandeja ...)})
...
...
Я называю этот nativeQuery этот путь
public List**<TablaBandejaCitas>** bandejaCitas(String cia, String agencia, String division) {
Query query = em.createNamedQuery("Tallt089.bandejaCitas");
query.setParameter(1,cia);
query.setParameter(2,agencia);
query.setParameter(3,division);
return query.getResultList();
//this works fine retrieves correctly my query
}
И использовать его на мой managedBean
public List**<TablaBandejaCitas>** bandejaCitas(String compania,
String agencia,String division){
return agendamientoSession.bandejaCitas(compania,agencia,division);
}
затем ссылается это на моей странице JSF как этого
<p:dataTable id="bandeja_citas"
value="#{AgendamientoMBean.bandejaCitas(UsuarioMBean.compania,UsuarioMBean.agencia,
UsuarioMBean.divisionPK.diDivision)}"
var="bandeja"
paginator="true" rows="15" >
<f:facet name="header">
Bandeja Citas por confirmar/Llamadas por realizar
</f:facet>
<p:column headerText="Id Bandeja" >
<h:outputText value ="#{bandeja.idBandeja}"/>
</p:column>
<p:column headerText="Cliente" sortBy="#{bandeja.cliente}"
filterBy="#{bandeja.cliente}">
<h:outputText value ="#{bandeja.cliente}"/>
</p:column>
...
...
...
</p:dataTable>
я понял, что свойство вара нужно что-то, как отображается в полях запроса, так как предупреждения на страницах JSF говорят мне, что это unkwon недвижимость
<h:outputText value ="#{bandeja.**cliente**}"/>
Я не знаю, как сохранить запрос в этой переменной, так что данные могут быть отображены
прямо сейчас я получил для входной строки исключение как компонент его чтения необработанных данных вместо formmatted списка с соответствующей переменной, заполненной с полями запроса ..
надеюсь, что вы можете understandme
apreciatte ваши комментарии заранее: D
Ваш метод bandejaCitas только возвращающимся список по умолчанию объектов Object? Возможно, вам понадобится кастинг, чтобы убедиться, что у вас есть объекты объекта Bandeja. return (Список) query.getResultList(); –
Rich
Привет, спасибо за ваш ответ. Да, он просто возвращает список объектов Объекты, можете ли вы показать мне пример того, как реализовать этот листинг? поэтому я могу правильно называть его на странице jsf, я обновил свой код, добавив приведение, но все еще не работаю –
arkantos
Конечно, это было что-то, что я только что заметил по сравнению с кодом, который я видел, используя getResultList(), который просто возвращает объекты, поэтому на хотя бы один шаг позволяет Java, известному тем, что эти объекты фактически являются классом, который у вас есть со свойствами для каждой проекции запроса. Если собственный запрос не возвращает прогнозы, которые являются столбцами таблицы, сопоставленными с свойствами класса Entity/Bandeja, то я думаю, что это проблема. Как сделать шаг назад, может быть полезно ответить на ваш вопрос, если вы можете объяснить, почему вы использовали NativeQuery, и вообще то, что вы пытаетесь извлечь из БД (строка или многопользовательский запрос?) – Rich