Hibernate 来自多个表的Model.addAttribute
我有实体卡余额。当我想在JSP上显示它时,我编写了一个方法Hibernate 来自多个表的Model.addAttribute,hibernate,jsp,Hibernate,Jsp,我有实体卡余额。当我想在JSP上显示它时,我编写了一个方法 Card_Balance find_by_id{ String que = "SELECT * FROM Card_Balance WHERE Card_Balance.CARD_ID="+id; SQLQuery sqlQuery = session.createSQLQuery(que).addEntity(Card_Balance.class); ... } 并在控制器中使用。现在我想用两个实体显示JSP表。 我写sql
Card_Balance find_by_id{
String que = "SELECT * FROM Card_Balance WHERE Card_Balance.CARD_ID="+id;
SQLQuery sqlQuery = session.createSQLQuery(que).addEntity(Card_Balance.class);
...
}
并在控制器中使用。现在我想用两个实体显示JSP表。
我写sql
SELECT FROM BALANCE_HIST BH
INNER JOIN EVENTS EV ON
BH.DATE_EVENT=EV.PAYMENT_TIME
WHERE BH.CARD_ID ="+id;
我不知道下一步该怎么办。该方法应该返回什么?如何在控制器中使用它?您选择的方法不正确
CardBalance findById(Long id) {
return (CardBalance)session.get(CardBalance.class, id);
}
List<BalanceHistory> getHistoryByCardId(Long cardId) {
String hql = "from BalanceHistory history where history.card.id = :cardId";
Query query = session.createQuery(hql);
query.setParameter("cardId", cardId);
return (List<BalanceHistory>)query.list();
}
最后我们使用了DTO模式
@Entity
class BalanceHistory {
@ManyToOne
private CardBalance card;
}