我需要使用Java持久性查询语言在表中更新和插入数据。这是我的DAO类代码:
public class ApprovalDao {
@Autowired
private SessionFactory sessionFactory;
public void setSessionFactory(SessionFactory sessionFactory) {
this.sessionFactory = sessionFactory;
}
public SessionFactory getSessionFactory() {
return sessionFactory;
}
public void addEntity(EntityValues entity) {
getSessionFactory().getCurrentSession().save(entity);
}
public void deleteEntityValue(EntityValues entity) {
getSessionFactory().getCurrentSession().delete(entity);
}
答案 0 :(得分:0)
首先,如果您使用@Autowired
注释setter/getteer
方法是多余的。在你的情况下,你应该这样做:
session = sessionFactory.openSession();
session.beginTransaction();
session.update(user);
session.getTransaction().commit();
用try/catch
构造包围它。
答案 1 :(得分:0)
用于更新表格中的字段数据:
public void updateField(){
Query q=getSessionFactory().getCurrentSession().createQuery(
" update SapOrderHDR set
SAP_ORDER_STATUS = 'A' where BC_ORDER_NO='" + bcOrderNo + "'");
q.executeUpdate();
}
此查询将更新BC_ORDER_NO=var
和set BC_ORDER_NO ='A'
的表格。
SapOrderHDR
是表实体类