`

hibernate4 Oracle executeQuery()方法执行删除无法删除数据库数据

 
阅读更多

 

项目开发中,使用的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对oracle读取blob

    Hibernate作为一款流行的ORM(对象关系映射)框架,提供了与Oracle数据库交互的简便方式,包括处理Blob数据。本文将详细介绍如何使用Hibernate和JDBC读取和存储Oracle数据库中的Blob对象。 ### 1. Hibernate Blob...

    使用JDBC和Hibernate来写入Blob型数据到Oracle中

    要将Blob型数据写入Oracle数据库,我们可以使用两种常见的技术:JDBC(Java Database Connectivity)和Hibernate。JDBC是Java与数据库交互的标准API,而Hibernate则是一个ORM(Object-Relational Mapping)框架,...

    oracle分别使用jdbc和hibernate的例子

    5. 执行SQL:调用Statement或PreparedStatement的`executeQuery()`或`executeUpdate()`方法。 6. 处理结果:如果执行的是查询语句,可以通过ResultSet获取结果集。 7. 关闭资源:确保每次操作后关闭Statement、...

    java使用JDBC和ODBC连接oracle数据库

    4. 执行SQL:调用Statement或PreparedStatement的executeQuery()或executeUpdate()方法执行SQL。 5. 处理结果:如果执行的是查询操作,可以使用ResultSet对象获取结果集。 6. 关闭资源:执行完毕后,记得关闭...

    JSP数据库_oracle编程指南

    本编程指南将深入探讨如何在JSP中与Oracle数据库进行交互,实现数据的存储、查询、更新和删除操作,以构建高效、稳定的Web应用程序。 一、JDBC与Oracle数据库连接 在JSP中与Oracle数据库交互,首先需要通过Java ...

    JDBC所用到的MySQL/Oracle等数据库jar包

    4. 执行SQL:通过`Statement`或`PreparedStatement`对象的`executeQuery()`或`executeUpdate()`方法执行SQL查询或DML语句。 5. 处理结果:对于查询语句,可以获取`ResultSet`对象并遍历数据;对于更新操作,返回受...

    java简单的Oracle数据库连接

    4. 执行SQL操作:调用Statement或PreparedStatement的方法(如`executeQuery()`、`executeUpdate()`)执行SQL。 5. 处理结果集:对于查询操作,会返回一个ResultSet对象,你可以遍历它来获取数据。 6. 关闭资源:...

    JDBC+Hibernate将Blob数据写入Oracle

    在Java开发中,有时我们需要将二进制数据如图片、文档等存储到关系型数据库中,Oracle数据库提供了Blob数据类型来处理这样的大对象(Large Object)数据。本篇将详细介绍如何利用JDBC和Hibernate框架将Blob数据写入...

    七种数据库连接 mysql、oracle……

    4. 执行SQL:调用`stmt.executeQuery(sql)`获取ResultSet。 5. 处理结果集:遍历ResultSet,获取数据。 6. 关闭资源:关闭ResultSet、Statement和Connection,以释放数据库资源。 二、连接SQL Server数据库 对于SQL...

    jdbc操作oracle数据库

    4. 执行SQL:调用Statement或PreparedStatement的`executeQuery()`或`executeUpdate()`方法执行SQL。 5. 处理结果集:对于查询操作,执行`executeQuery()`会返回一个ResultSet对象,可以遍历其行数据。 6. 关闭资源...

    Java连接SQLServer和Oracle数据库.zip

    4. 执行SQL:通过Connection对象创建Statement或PreparedStatement对象,然后调用executeQuery()或executeUpdate()方法执行SQL。 5. 处理结果:对于查询语句,可以获取ResultSet对象来遍历结果;对于更新语句,可以...

    数据库jar包

    4. 执行SQL:调用Statement或PreparedStatement对象的`executeQuery()`或`executeUpdate()`方法执行SQL。 5. 处理结果:对于查询操作,`executeQuery()`会返回一个`ResultSet`对象,可以遍历获取查询结果。对于更新...

    JDBC实用技术(连接Oracle数据库).rar

    - 执行SQL:调用Statement或PreparedStatement的`executeQuery()`或`executeUpdate()`方法执行SQL。 - 处理结果集:对于查询操作,结果集通过ResultSet对象返回,可以遍历处理每一行数据。 - 关闭资源:使用完毕...

    java数据库打击来看那看

    通过`Statement`或`PreparedStatement`的`executeQuery()`方法执行SELECT语句,返回`ResultSet`对象。`ResultSet`包含查询结果,可以遍历获取每一行数据。 5. **事务处理**: 在Java中,可以使用`Connection`对象...

    java数据库设计持久化操作实现

    3. **执行SQL**:调用executeQuery()或executeUpdate()方法,根据查询还是更新操作。 4. **处理结果**:ResultSet对象用于遍历查询结果,而executeUpdate()返回受影响的行数。 5. **关闭资源**:使用finally块确保...

    jdbc+dao:连接oracle

    4. **执行SQL**:调用`executeQuery()`或`executeUpdate()`方法执行SQL查询或更新。 5. **处理结果集**:如果执行的是查询语句,可以通过`ResultSet`对象遍历查询结果。 6. **关闭资源**:记得在完成数据库操作后,...

    java将图片写入数据库,并读出来(blob clob)

    在Java编程中,有时我们需要将图像数据存储到数据库中,然后能够从数据库中读取出来。这个过程通常涉及到Blob和Clob数据类型,它们是Java中的两种特殊对象,用于存储大对象(LOB)。Blob用于存储二进制数据,如图片...

    jsp连接数据库(oracle,sqlserver,mysql等10多种数据库)大全(您的必备)

    2. **建立连接**:使用`DriverManager.getConnection()`方法建立数据库连接。 3. **执行查询或更新操作**:通过`Statement`或`PreparedStatement`对象执行SQL语句。 4. **处理结果集**:如果执行的是查询操作,则...

    JDBC编程总结(包括各种数据库连接方法)

    使用`Statement`或`PreparedStatement`的`executeQuery()`或`executeUpdate()`方法来执行SQL查询或更新操作。查询返回一个`ResultSet`对象,更新操作返回受影响的行数。 6. **处理结果集**: `ResultSet`对象代表...

Global site tag (gtag.js) - Google Analytics