2013-09-07 3 views
0

У меня есть таблица базы данных с некоторыми отношениями oneToMany. это фрагмент сущности:Методы вызова JSF в заполненном списке JPA

@OneToMany(mappedBy="auction") 
private List<Biding> bidings; 

теперь я хочу, чтобы напечатать более высокую цену на моем Jsf сайте:

<ui:repeat var="singleAuction" value="#{auctionListBean.auctionList}" varStatus="status"> 
<h:outputLabel value="#{singleAuction.getHigherBid()}"/> 
</ui:repeat> 

это мой aucListBean

@ManagedBean 
    public class AuctionListBean 
    { 
     @PersistenceContext() 
     EntityManager entityManager; 

     public List<AuctionBean> getAuctionList() { 
      Query query = entityManager.createQuery("SELECT e FROM Auction e"); 
      @SuppressWarnings("unchecked") 
      List<AuctionBean> resultList = (List<AuctionBean>) query.getResultList(); 
      return resultList; 
     } 
    } 

У меня также есть AuctionBean класс, Раньше я использовал новый аукцион. Теперь я хочу создать bean-компонент, который имеет одно свойство: list auctionBean. Я заполняю его, используя свой объект, и отсылаю его на AuctionBean. В классе AuctionBean I реализован упомянутый метод:

public double getHigherBid() 
    { 
     double higherBid = 0; 
     for(Biding a : bidings) 
     { 
      if(a.getCurrentPrice() > higherBid) 
       higherBid = a.getCurrentPrice(); 
     } 
     return higherBid; 
    } 

Проблема «Метод не найден». Похоже, что по какой-то причине он даже не использует класс AuctionBean. Это может быть проблема, почему он не видит этот метод. Я делаю это правильно, и где проблема? Не могли бы вы помочь?

+1

Пожалуйста, CopyPaste точное исключение и полный трассировки стека неизмененной в вопросе вместо overgeneralizing как «проблемы». Исключение и полная трассировка стека очень важны, потому что они представляют собой целый ответ сами! То, что вы не можете читать/интерпретировать их, не означает, что вы можете игнорировать его, как будто это украшение. – BalusC

ответ

0

У меня есть два предложения:
1. Используйте singleAuction.higherBid, не singleAuction.getHigherBid()
2. Укажите целевой класс вашего запроса. Вот пример:

return entityManager.createQuery("SELECT e FROM Auction e", AuctionBean.class) 
    .getResultList(); 
Смежные вопросы