项目开发中,使用的hibernate oracle删除数据时使用以下代码不能删除数据
public void delPerson(String name) { Session session = HibernateUtil.currentSession(); String hql = "delete from Person where name= :name"; Query query = session.createQuery(hql); query.setParameter("name", name); return query.executeUpdate(); }
改为类似下面的写法就行了
public void delPerson(Date createDate ) { Session session = HibernateUtil.currentSession(); String time = DateUtil.convertDate2Str(createDate, "yyyy-MM-dd"); String sql = "select id from person where to_char(trunc(tax_date, 'dd'), 'yyyy-mm-dd') = :taxDate"; SQLQuery query = session.createSQLQuery(sql); query.setParameter("taxDate", time); List list = query.list(); Iterator iterator = list.iterator(); List<String> idList = new ArrayList<String>(); while (iterator.hasNext()) { String obj = (String) iterator.next(); idList.add(obj); } Person taxBean = new Person(); for(String id : idList) { taxBean.setId(id); session.delete(taxBean); session.flush();//此处相当于提交一次,否则循环执行完后只会删除一条数据 } }
java学习交流群:513650703
相关推荐
Hibernate作为一款流行的ORM(对象关系映射)框架,提供了与Oracle数据库交互的简便方式,包括处理Blob数据。本文将详细介绍如何使用Hibernate和JDBC读取和存储Oracle数据库中的Blob对象。 ### 1. Hibernate Blob...
要将Blob型数据写入Oracle数据库,我们可以使用两种常见的技术:JDBC(Java Database Connectivity)和Hibernate。JDBC是Java与数据库交互的标准API,而Hibernate则是一个ORM(Object-Relational Mapping)框架,...
5. 执行SQL:调用Statement或PreparedStatement的`executeQuery()`或`executeUpdate()`方法。 6. 处理结果:如果执行的是查询语句,可以通过ResultSet获取结果集。 7. 关闭资源:确保每次操作后关闭Statement、...
4. 执行SQL:调用Statement或PreparedStatement的executeQuery()或executeUpdate()方法执行SQL。 5. 处理结果:如果执行的是查询操作,可以使用ResultSet对象获取结果集。 6. 关闭资源:执行完毕后,记得关闭...
本编程指南将深入探讨如何在JSP中与Oracle数据库进行交互,实现数据的存储、查询、更新和删除操作,以构建高效、稳定的Web应用程序。 一、JDBC与Oracle数据库连接 在JSP中与Oracle数据库交互,首先需要通过Java ...
4. 执行SQL:通过`Statement`或`PreparedStatement`对象的`executeQuery()`或`executeUpdate()`方法执行SQL查询或DML语句。 5. 处理结果:对于查询语句,可以获取`ResultSet`对象并遍历数据;对于更新操作,返回受...
4. 执行SQL操作:调用Statement或PreparedStatement的方法(如`executeQuery()`、`executeUpdate()`)执行SQL。 5. 处理结果集:对于查询操作,会返回一个ResultSet对象,你可以遍历它来获取数据。 6. 关闭资源:...
在Java开发中,有时我们需要将二进制数据如图片、文档等存储到关系型数据库中,Oracle数据库提供了Blob数据类型来处理这样的大对象(Large Object)数据。本篇将详细介绍如何利用JDBC和Hibernate框架将Blob数据写入...
4. 执行SQL:调用`stmt.executeQuery(sql)`获取ResultSet。 5. 处理结果集:遍历ResultSet,获取数据。 6. 关闭资源:关闭ResultSet、Statement和Connection,以释放数据库资源。 二、连接SQL Server数据库 对于SQL...
4. 执行SQL:调用Statement或PreparedStatement的`executeQuery()`或`executeUpdate()`方法执行SQL。 5. 处理结果集:对于查询操作,执行`executeQuery()`会返回一个ResultSet对象,可以遍历其行数据。 6. 关闭资源...
4. 执行SQL:通过Connection对象创建Statement或PreparedStatement对象,然后调用executeQuery()或executeUpdate()方法执行SQL。 5. 处理结果:对于查询语句,可以获取ResultSet对象来遍历结果;对于更新语句,可以...
4. 执行SQL:调用Statement或PreparedStatement对象的`executeQuery()`或`executeUpdate()`方法执行SQL。 5. 处理结果:对于查询操作,`executeQuery()`会返回一个`ResultSet`对象,可以遍历获取查询结果。对于更新...
- 执行SQL:调用Statement或PreparedStatement的`executeQuery()`或`executeUpdate()`方法执行SQL。 - 处理结果集:对于查询操作,结果集通过ResultSet对象返回,可以遍历处理每一行数据。 - 关闭资源:使用完毕...
通过`Statement`或`PreparedStatement`的`executeQuery()`方法执行SELECT语句,返回`ResultSet`对象。`ResultSet`包含查询结果,可以遍历获取每一行数据。 5. **事务处理**: 在Java中,可以使用`Connection`对象...
3. **执行SQL**:调用executeQuery()或executeUpdate()方法,根据查询还是更新操作。 4. **处理结果**:ResultSet对象用于遍历查询结果,而executeUpdate()返回受影响的行数。 5. **关闭资源**:使用finally块确保...
4. **执行SQL**:调用`executeQuery()`或`executeUpdate()`方法执行SQL查询或更新。 5. **处理结果集**:如果执行的是查询语句,可以通过`ResultSet`对象遍历查询结果。 6. **关闭资源**:记得在完成数据库操作后,...
2. **建立连接**:使用`DriverManager.getConnection()`方法建立数据库连接。 3. **执行查询或更新操作**:通过`Statement`或`PreparedStatement`对象执行SQL语句。 4. **处理结果集**:如果执行的是查询操作,则...
在Java编程中,有时我们需要将图像数据存储到数据库中,然后能够从数据库中读取出来。这个过程通常涉及到Blob和Clob数据类型,它们是Java中的两种特殊对象,用于存储大对象(LOB)。Blob用于存储二进制数据,如图片...
使用`Statement`或`PreparedStatement`的`executeQuery()`或`executeUpdate()`方法来执行SQL查询或更新操作。查询返回一个`ResultSet`对象,更新操作返回受影响的行数。 6. **处理结果集**: `ResultSet`对象代表...