【发布时间】:2021-10-18 03:53:35
【问题描述】:
我在命名查询中遇到问题得到错误org.hibernate.HibernateException:命名查询中的错误:customers.amountDeposit、customers.amountWithdraw
这是我的命名查询金额存款和取款以及金额存款和金额取款的DAO实现,第一次尝试,我可以说我是初学者
@NamedQueries ({
@NamedQuery(name="customers.amountWithdraw", query="update customers set customerBalance = customerBalance - :amount where :customerAccNo"),
@NamedQuery(name="customers.amountDeposit", query="update customers set customerBalance = customerBalance + :amount where :customerAccNo" )})
这是我的 DAO 实现
public Customer amountWithdraw(Customer customer,double amount) {
customer=(Customer) session.get(Customer.class, customer.getCustomerAccNo());
if(customer!=null) {
Query query = session.getNamedQuery("customers.amountWithdraw");
query.setParameter("customerBalance",customer.getCustomerBalance());
query.setParameter("amount", amount );
query.setParameter("customerAccNo",customer.getCustomerAccNo());
query.executeUpdate();
customer=getCustomerByAccNo(customer.getCustomerAccNo());
return customer;
}
return null;
}
public Customer amountDeposit(Customer customer, double amount) {
customer=(Customer) session.get(Customer.class, customer.getCustomerAccNo());
if(customer!=null) {
Query query = session.getNamedQuery("customers.amountDeposit");
query.setParameter("customerBalance",customer.getCustomerBalance());
query.setParameter("amount", amount );
query.setParameter("customerAccNo",customer.getCustomerAccNo());
query.executeUpdate();
customer=getCustomerByAccNo(customer.getCustomerAccNo());
return customer;
}
return null;
}
【问题讨论】:
标签: java hibernate dao named-query