用户登录
用户注册

分享至

hibernate执行hql语句

  • 作者: 1986年7月29号的梦魇
  • 来源: 51数据库
  • 2020-11-07
这个是可以的,直接通过insert into、update、delete进行操作即可:
插入操作:
Session session = HibernateUtil.getSessionFactory().getCurrentSession();
session.beginTransaction();
session.createQuery("insert into UserInfo(username) values('zhangsan')")
删除操作:
Session session = HibernateUtil.getSessionFactory().getCurrentSession();
session.beginTransaction();
session.createQuery("delete Classes as a where a.orderTimelike " '%"+orderTime+"%'");
更新操作:
Session session = HibernateUtil.getSessionFactory().getCurrentSession();
session.beginTransaction();
session.createQuery("update Classes set id =5 where a.orderTimelike " '%"+orderTime+"%'");



  完整的hql语句形式如下: select/update/delete…… from …… where …… group by …… having …… order by …… asc/desc 其中的update/delete为hibernate3中所新添加的功能,可见hql查询非常类似于标准sql查询。



  你可以使用一楼的方式

如果使用hql方式,参考如下:

public void testDml(){
Session session = null;
Transaction tx = null;
try {
session = HibernateUtils.getSession();
tx = session.getTransaction();
session.beginTransaction();
Query query = session.createQuery("delete Student s where s.id=?");
query.setInteger(0, 1);
query.executeUpdate();
tx.commit();
} catch (HibernateException e) {
tx.rollback();
e.printStackTrace();
}finally{
HibernateUtils.closeSession(session);
}
}



  可以 直接delete 对象名 加条件Where 属性等于



  请参照Hibernate通过createSQLQuery实现增删改
软件
前端设计
程序设计
Java相关