0

我有一个带有一些 oneToMany 关系的数据库表。这是实体的片段:

@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:auctionBean 列表。我使用我的实体填充它并将其转换为 AuctionBean。在 AuctionBean 类中,我实现了提到的方法:

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

问题是“找不到方法”。由于某种原因,它似乎仍然不使用 AuctionBean 类。为什么它看不到该方法可能是一个问题。我做得对,问题到底出在哪里?你能帮忙吗?

4

1 回答 1

0

我有两个建议:
1. 使用 singleAuction.higherBid,而不是 singleAuction.getHigherBid()
2. 指定查询的目标类。这是一个例子:

return entityManager.createQuery("SELECT e FROM Auction e", AuctionBean.class)
    .getResultList();
于 2013-09-07T19:24:43.553 回答