hibernatesql删除语句怎么写 hql删除语句
- 综合知识
- 关注:1.86W次
1、新建一个Person实体类。
2、Shift+Alt+s+r生成get,set方法。
3、新建一个反射获取属性的方法public <T> void getDomainValue(T entity) { 。
4、新建方法测试testGetValue反射打印的Person属性。
5、修改getDomainValue方法,使其生成HQL语法。
6、运行testGetValue方法,查看打印情况打印结果。
注意事项:
Hibernate查询语言(HQL)与SQL(结构化查询语言)相同,但不依赖于数据库表。 在HQL中使用类名,而不是表名,它是数据库独立的查询语言。
2.1,hibernate中用hql怎么执行delete的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);
}
}
3.hibernate在Dao中删除一个对象如何写hibernate通过id来进行db操作删除记录的,删除方法如下:
publicstatic void delete(Object obj) {
Session session = null;
Transaction tx = null;
try {
session =HibernateUtil.getSession();
tx =session.beginTransaction();
session.delete(obj);
tx.commit();
} finally {
if (session != null) {
session.close();
}
}
}
4.hibernate在Dao中删除一个对象如何写必须有一个东西可以定位到是数据表中的某一条数据,否则是无法删除的,当然了,是否主键id无所谓,但必须要保证唯一能定位。
就像一堆数据,你想怎么删除其中一条,肯定是根据某些条件知道这条数据的吧,这个条件就是id或者自己定义的一些参数。这个load,delete,update都是方法,可以自己写这种方法,尔后调用的。
一般是按F3健查看源码方法。比方说你定义一个 Aid,点击按钮获得一个id,然后将你得到的id赋值给你定义的Aid,之后你用getHibernateTemplate().load(Person.class, Aid); 就好了。
而且也必须这样才能实现我们所用的。你那个new Integer(1) 是重新生成的一个id。
new Integer(1),就是一参数,实际上由自己获取。至于删除 确实要delete,假设要删除,先加载再删除时可以的。
也可以这样写getHibernateTemplate().delete(Person.class, Aid); 前提是要找出这个delete方法。你把DAO中的这个方法贴出来,然后改一下就应该可以了。
- 文章版权属于文章作者所有,转载请注明 https://dongkepu.com/zonghezhishi/dwlg4y.html