`
ada1230
  • 浏览: 37828 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

在hibernate 中如何转换JDBC的操作?

阅读更多
//方法如下
public void deleteBatch(int userid) throws Exception{
String hql = "DELETE FROM Stock AS stock WHERE stock.userid=?";
Connection conn = (Connection) session.connection();
PreparedStatement pstmt = conn.prepareStatement(hql);
pstmt.setInt(1, userid);
pstmt.executeUpdate();
pstmt.close();
conn.close();
}
//这是它所报的异常
java.lang.ClassCastException: $Proxy0
at com.icxq.impl.StockDAOImpl.deleteBatch(StockDAOImpl.java:51)
at com.test.Test.main(Test.java:12)
分享到:
评论
6 楼 movingboy 2008-08-06  
<div class='quote_title'>卡拉阿风 写道</div>
<div class='quote_div'>删除的时候。注意内存溢出</div>
<p>为什么要注意这一点,能否详细说说?</p>
5 楼 卡拉阿风 2008-08-06  
删除的时候。注意内存溢出
4 楼 movingboy 2008-08-05  
使用Hibernate实现批量删除其实很容易。例如
Query q = session.createQuery(
  "delete Stock s where s.userId = :userid");
q.setParameter("userid", userid, Integer);
q.executeUpdate();

不过要注意批量操作直接更改数据库,没有更新Hibernate的一级、二级缓存
3 楼 andy54321 2008-08-04  
ada1230 写道
我想实现一个批量删除,JDBC删除的效率高于“ session.delete(stock);”
所以我想“转换”
希望说明白了^_^


若想利用hibernate的删除功能,还想批量,个人不知道有什么办法
因为在hibernate中的delete方法,是delete(stock对象),而此处是以其id定位,随之删除,
不似进行 insert、update 操作会有缓存处理
2 楼 ada1230 2008-08-04  
7upCat 写道
说实在的没有看懂你的这部分代码的意思.

如果你想使用hibernate进行删除.
直接用 session.delete(Object);
       这个Obejct对象就是含有oid的要被删除的实体.
       比如你这个例子里的 Stock 
       Stock  stock=new Stock();
         stock.setOid("1");
    session.delete(stock);

就可以了.

      

谢谢你的关注,我明白你的意思,但我想实现一个批量删除,JDBC删除的效率高于“ session.delete(stock);”
所以我想“转换”
希望说明白了^_^
1 楼 7upCat 2008-08-04  
说实在的没有看懂你的这部分代码的意思.

如果你想使用hibernate进行删除.
直接用 session.delete(Object);
       这个Obejct对象就是含有oid的要被删除的实体.
       比如你这个例子里的 Stock 
       Stock  stock=new Stock();
         stock.setOid("1");
    session.delete(stock);

就可以了.

      

相关推荐

    hibernate所需包:hibernate3,依赖包,JDBC

    在Hibernate中,JDBC驱动程序是必要的,以便应用程序能够连接到特定的数据库。例如,"mysql-connector-java-3.1.13-bin.jar"就是MySQL的JDBC驱动,用于连接到MySQL数据库。 **总结** 在Java开发中,Hibernate3是一...

    本人理解hibernate 与 JDBC 的最本质区别

    标题中的“本人理解hibernate 与 JDBC 的最本质区别”揭示了我们即将探讨的核心主题:Hibernate 和 JDBC 在处理数据库操作时的不同之处。 Hibernate 是一个对象关系映射(ORM)框架,而 JDBC(Java Database ...

    JDBC与Hibernate的比较

    Hibernate的`Iterator`可以在每次请求下一条记录时才从数据库中获取数据,减少了内存占用,但在实际应用中需要根据具体情况选择合适的策略。 - **批量操作**:对于批量创建或更新操作,Hibernate的性能也往往优于...

    类似hibernate的jdbc封装

    在IT行业中,数据库操作是应用程序开发中的重要环节。Hibernate是一个流行的Java对象关系映射(ORM)框架,它简化了数据库操作,将SQL语句与Java代码解耦,提供了面向对象的方式来处理数据。然而,有些场景下,我们...

    国产神通数据库用到的jdbc驱动包、集成Hibernate用到的jar包

    在本压缩包中,我们找到了用于集成Hibernate的jar包,Hibernate是一个优秀的对象关系映射框架,它允许开发者以面向对象的方式操作数据库,极大地简化了数据库编程。Hibernate通过提供数据持久化的各种工具,帮助...

    JDBC Hibernate学习笔记

    ### JDBC与Hibernate学习笔记 ...JDBC提供了与数据库交互的低级API,而Hibernate则是在JDBC基础上构建的一个高级ORM框架,能够显著减少开发过程中与数据库交互所需的代码量,并提高了开发效率和应用程序的可维护性。

    Hibernate操作持久化对象

    Hibernate的核心在于提供对象-关系映射(ORM)服务,使得开发者能够以面向对象的方式来管理和操作数据库中的数据,从而减少了直接使用JDBC进行数据操作时的复杂性和错误。 为什么需要Hibernate? 在传统的JDBC编程中...

    JPA JDBC hibernate mybatis对比

    在Java世界中,数据访问技术是开发者不可或缺的一部分。本文将深入探讨三种主流的数据访问框架:JPA(Java Persistence API)、JDBC(Java Database Connectivity)以及MyBatis,并从多个维度进行对比,帮助开发者...

    Java-Hibernate-JDBC.rar_Author_ Author

    Java编程领域中,数据库操作是不可或缺的一部分,而Hibernate和JDBC是两种常用的数据访问技术。本文将深入探讨这两种技术,并对比它们的特点、优缺点以及适用场景。 Hibernate是一种强大的对象关系映射(ORM)框架...

    关于Oracle的 Clob数据类型在Hibernate中的应用小结

    在Hibernate框架中,Clob类型的字段处理是数据库操作中的一个关键环节,尤其是在处理大量文本数据时。以下是对Oracle Clob在Hibernate中应用的详细总结: 3.1 传统的JDBC方式: 在没有使用ORM框架之前,我们通常...

    Hibernate 50个 英文面试题和答案

    10. Hibernate事务管理如何操作? Hibernate支持JTA(Java Transaction API)和JDBC事务管理。通过SessionFactory的`beginTransaction()`、`commit()`和`rollback()`方法进行事务控制。 以上仅为部分面试题及解答...

    jdbc操作数据库之Date类型

    ### JDBC操作数据库之Date类型详解 #### 一、引言 在进行数据库操作时,日期时间类型的处理一直是开发过程中的一个难点。对于不同的框架和技术栈,处理日期的方式也会有所不同。本文将详细介绍如何在JDBC中操作`...

    Java Dao JDBC Hibernate XMLmapping 代码

    Java DAO (Data Access Object)、JDBC (Java Database Connectivity)、Hibernate 和 XML mapping 是Java开发中用于数据库操作的重要技术。这些技术共同构成了一个强大的数据访问层,使得开发者能够高效、灵活地与...

    jdbc操作基本操作包装 实现简单的OR映射 外加爬虫

    在Java中,有一些轻量级的ORM框架,如Hibernate和MyBatis,它们可以简化这一过程。然而,如果你的项目需求相对简单,也可以自己编写包装类来实现基础的OR映射功能。这样做的优点是灵活度高,可以根据具体需求定制。 ...

    Hibernate 中文参考文档

    Hibernate是一个开放源代码的ORM框架,它允许Java开发人员将对象模型转换为关系数据库模型,从而避免了通常在使用JDBC时的手动SQL编写。通过提供数据持久化的解决方案,Hibernate提高了开发效率,降低了数据库访问的...

    关于Clob类型在Hibernate中 的应用小结

    在Java世界中,尤其是在持久化框架Hibernate中,处理Clob类型的数据需要特别的方法和配置。 在Hibernate中,Clob类型的字段通常有两种处理方式: 1. **传统JDBC方式**: 在这种模式下,开发者需要直接操作Clob...

    JDBC-Mybatis-Hibernate实例.7z

    在本实例中,我们看到一个涵盖了JDBC、MyBatis和Hibernate三种不同方式来实现这一任务的项目。这三种技术各有优势,适应不同的应用场景。 首先,JDBC是Java标准API,用于连接和操作数据库。它提供了低级别的数据库...

    HIbernate免注解实现操作数据库 及Hibernate3连接SQL的BUG解决办法

    本篇将深入探讨如何在Hibernate中实现数据库操作而无需使用注解,以及如何解决在Hibernate 3中遇到的连接SQL的常见问题。 首先,让我们了解在Hibernate中免注解实现数据库操作的基本步骤: 1. **配置Hibernate**: ...

    异常处理和JDBC

    在JDBC操作中,如连接失败、查询错误或数据转换异常等,都可能抛出异常。处理这些异常可以避免程序崩溃,并提供有意义的错误信息。 2. **JDBC API**:JDBC API包括一系列接口和类,如`DriverManager`、`Connection`...

    达梦数据库7.6最新的驱动包及hibernate方言包

    3. 在Hibernate配置文件中声明使用的方言,例如`&lt;property name="hibernate.dialect"&gt;com.dm.jdbc.DMDialect&lt;/property&gt;`。 4. 创建SessionFactory,然后通过Session对象进行数据库操作。 通过以上介绍,我们可以...

Global site tag (gtag.js) - Google Analytics