[英]Insert and update data in table using Java Persistence Query Language
I need to update and insert data in table using Java Persistence Query Language. 我需要使用Java持久性查询语言更新并在表中插入数据。 Here is my DAO class code: 这是我的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);
}
At first, if you use @Autowired
annotation setter/getteer
methods are redundant. 首先,如果使用@Autowired
注释,则setter/getteer
方法是多余的。 In your case you should youse something like this: 在您的情况下,您应该这样:
session = sessionFactory.openSession();
session.beginTransaction();
session.update(user);
session.getTransaction().commit();
And surround it with try/catch
construction. 并用try/catch
结构包围它。
for updating data of fields in table : 用于更新表中字段的数据:
public void updateField(){
Query q=getSessionFactory().getCurrentSession().createQuery(
" update SapOrderHDR set
SAP_ORDER_STATUS = 'A' where BC_ORDER_NO='" + bcOrderNo + "'");
q.executeUpdate();
}
This query will update table where BC_ORDER_NO=var
and set BC_ORDER_NO ='A'
. 该查询将更新BC_ORDER_NO=var
表并set BC_ORDER_NO ='A'
。 SapOrderHDR
is table entity class SapOrderHDR
是表实体类
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.