我有一个包含一些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类。它可能是一个问题,为什么它看不到该方法。我做得对,问题究竟在哪里?你能帮忙吗?
答案 0 :(得分:0)
我有两点建议:
1.使用singleAuction.higherBid,而不是singleAuction.getHigherBid()
2.指定查询的目标类。这是一个例子:
return entityManager.createQuery("SELECT e FROM Auction e", AuctionBean.class)
.getResultList();