`
xuzhiwen72
  • 浏览: 8748 次
  • 性别: Icon_minigender_1
最近访客 更多访客>>
文章分类
社区版块
存档分类
最新评论

hibernate的一个问题,请大家帮助

阅读更多
请大家看下为什么报错,怎样解决?
Book.java
package bean;

public class Book implements java.io.Serializable {



     private Integer bookId;
     private String bookName;
     private String bookAuthor;
     private double bookPrice;


    /** default constructor */
    public Book() {
    }

   
    /** full constructor */
    public Book(String bookName, String bookAuthor, double bookPrice) {
        this.bookName = bookName;
        this.bookAuthor = bookAuthor;
        this.bookPrice = bookPrice;
    }

  
    // Property accessors

    public Integer getBookId() {
        return this.bookId;
    }
   
    public void setBookId(Integer bookId) {
        this.bookId = bookId;
    }

    public String getBookName() {
        return this.bookName;
    }
   
    public void setBookName(String bookName) {
        this.bookName = bookName;
    }

    public String getBookAuthor() {
        return this.bookAuthor;
    }
   
    public void setBookAuthor(String bookAuthor) {
        this.bookAuthor = bookAuthor;
    }

    public double getBookPrice() {
        return this.bookPrice;
    }
   
    public void setBookPrice(double bookPrice) {
        this.bookPrice = bookPrice;
    }

}
Book.hbm.xml
<?xml version="1.0"?>
<!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Mapping DTD 3.0//EN"
"http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd">
<!--
    Mapping file autogenerated by MyEclipse - Hibernate Tools
-->
<hibernate-mapping>
    <class name="bean.Book" table="book" catalog="bookstoressh">
        <id name="bookId" type="integer">
            <column name="book_id" />
            <generator class="native" />
        </id>
        <property name="bookName" type="string">
            <column name="book_name" length="100" not-null="true" />
        </property>
        <property name="bookAuthor" type="string">
            <column name="book_author" length="100" not-null="true" />
        </property>
        <property name="bookPrice" type="double">
            <column name="book_price" precision="22" scale="0" not-null="true" />
        </property>
    </class>
</hibernate-mapping>

hibernate.cfg.xml
<?xml version='1.0' encoding='UTF-8'?>
<!DOCTYPE hibernate-configuration PUBLIC
          "-//Hibernate/Hibernate Configuration DTD 3.0//EN"
          "http://hibernate.sourceforge.net/hibernate-configuration-3.0.dtd">

<!-- Generated by MyEclipse Hibernate Tools.                   -->
<hibernate-configuration>

<session-factory>
<property name="myeclipse.connection.profile">
bookstoressh
</property>
<property name="connection.url">
jdbc:mysql://localhost:3306/bookstoressh
</property>
<property name="connection.username">root</property>
<property name="connection.password">123</property>
<property name="connection.driver_class">
org.gjt.mm.mysql.Driver
</property>
<property name="dialect">
org.hibernate.dialect.MySQLDialect
</property>
<property name="hibernate.transaction.factory_class">
org.hibernate.transaction.JDBCTransactionFactory
</property>
<property name="show_sql">true</property>
<property name="hbm2ddl.auto">true</property>
<mapping resource="bean/Book.hbm.xml" />

</session-factory>

</hibernate-configuration>
报错情况:
Hibernate: select book0_.book_id as book1_0_, book0_.book_name as book2_0_0_, book0_.book_author as book3_0_0_, book0_.book_price as book4_0_0_ from bookstoressh.book book0_ where book0_.book_id=?
org.hibernate.HibernateException: More than one row with the given identifier was found: 2, for class: bean.Book
at org.hibernate.loader.entity.EntityLoader.load(EntityLoader.java:137)
at org.hibernate.loader.entity.EntityLoader.load(EntityLoader.java:101)
at org.hibernate.persister.entity.BasicEntityPersister.load(BasicEntityPersister.java:2471)
at org.hibernate.event.def.DefaultLoadEventListener.loadFromDatasource(DefaultLoadEventListener.java:351)
at org.hibernate.event.def.DefaultLoadEventListener.doLoad(DefaultLoadEventListener.java:332)
at org.hibernate.event.def.DefaultLoadEventListener.load(DefaultLoadEventListener.java:113)
at org.hibernate.event.def.DefaultLoadEventListener.proxyOrLoad(DefaultLoadEventListener.java:167)
at org.hibernate.event.def.DefaultLoadEventListener.onLoad(DefaultLoadEventListener.java:79)
at org.hibernate.impl.SessionImpl.get(SessionImpl.java:621)
at org.hibernate.impl.SessionImpl.get(SessionImpl.java:614)
at service.Work.sec(Work.java:22)
at service.Work.main(Work.java:40)
业务类 Work.java
package service;




import org.hibernate.Session;
import org.hibernate.Transaction;

import bean.Book;
import bean.HibernateSessionFactory;



public class Work {
void sec(){

Session session = null ;
  try {

          session = HibernateSessionFactory.getCurrentSession();
          Transaction f =  session.beginTransaction();
   Book book=(Book)session.get( Book.class,new Integer(2));//引起异常的地方,????      System.out.println(book.getBookName());
    
     f.commit();
   
      } catch (Exception hex) {
      hex.printStackTrace();
         } finally {
          if (session != null) {
              HibernateSessionFactory.closeCurrentSession();
             
              }
      
          }}


public static void main(String[] args) {
Work work=new Work();
    work.sec();

}
}
分享到:
评论
4 楼 xuzhiwen72 2007-06-11  
javachs 写道
去数据库看看是不是有两条相同的记录.
只有一条记录 没有相同的.主键也不可能让他相同了
3 楼 javachs 2007-06-11  
去数据库看看是不是有两条相同的记录.
2 楼 xuzhiwen72 2007-06-11  
javachs 写道
没有主键,记录不唯一,你看英文报错就知道了.
但是我设置了主键,用sqlserver设置通过了.
1 楼 javachs 2007-06-11  
没有主键,记录不唯一,你看英文报错就知道了.

相关推荐

    hibernate-annotations-3.4.0 中文帮助文档

    hibernate-annotations-3.4.0 中文帮助文档,希望对大家有帮助。

    个人对hibernate的看法,应该会对大家有一

    标题与描述概述的是个人对Hibernate框架的理解与观点,这一部分提到了Hibernate在处理数据库操作时的一些...通过上述对Hibernate框架特性的介绍,相信能够为大家在使用Hibernate进行项目开发时提供一定的帮助和启示。

    hibernate中文帮助文档

    hibernate中文帮助文档,希望对大家有用!

    hibernate 3.2.0 RC1 中文帮助文档

    这个版本是Hibernate发展过程中的一个重要里程碑,它在正式版本发布前提供给开发者测试和反馈,确保软件的稳定性和功能完善性。中文帮助文档的存在对于中国开发者群体尤其重要,因为它消除了语言障碍,使得理解和...

    hibernate实现分页查询

    ### Hibernate 实现分页查询详解 #### 一、引言 在进行数据库操作时,为了提高用户体验和系统性能,分页查询是一项非常重要的技术。...以上就是关于Hibernate实现分页查询的具体介绍,希望对大家有所帮助。

    Hibernate注解帮助文档

    Hibernate注解帮助中文文档,欢迎大家免积分下载。

    hibernate按自己要求输出自己规则的完整SQL

    就是如何让输出sql方便查看,因为出了问题时,要去查错时sql日志会给我们很大帮助,但hibernate通过配p6spy输出很乱,且只能输了到spy.log中,很不好查看,这里是我在项目中的一个解决过程,和大家分享一下,按照...

    myeclipse配置hibernate时出错

    Hibernate是一个开放源代码的ORM(Object Relational Mapping)框架,它对JDBC进行了轻量级的对象封装,使得Java开发者能够以面向对象的方式来操作数据库。Hibernate可以自动生成SQL语句,自动执行,使得Java开发者...

    hibernate开发插件

    hibernate开发插件 希望对大家有帮助

    Hibernate Tag 参考手册

    Hibernate Tag 在线查看非常不方便,所以自己用收集并制作成CHM格式,希望能给大家一定帮助

    关于hibernate配置的基本步骤

    帮助大家在配置hibernate方面提供支持

    Hibernate.chm

    Hibernate英文版帮助文档,希望能帮助大家更好更快的上手Hibernate,希望大家喜欢.....

    hibernate 图书 资料

    假设我们有一个简单的Java应用,其中包含两个线程`t1`和`t2`。假设`t1`的优先级较低,而`t2`的优先级较高。在独占式操作系统环境下: 1. 如果`t1`正处于运行状态,此时`t2`进入可运行状态,那么`t1`会立即让出CPU给...

    韩顺平Hibernate教学视频及源码

    该文档中有韩顺平老师Hibernate的教学视频和密码,希望可以帮助到大家,J2ee开发的伙伴很有帮助奥!希望可以帮助到大家!

    java视频教程_hibernate3.3.2_项目源码

    【标题】"java视频教程_hibernate3.3.2_项目源码" 是一个关于Java编程语言和Hibernate框架的教育性资源,旨在帮助学习者掌握如何在实际项目中运用Hibernate 3.3.2版本。Hibernate是Java领域的一个非常重要的对象关系...

    J2EE大家好.rar_J2EE_hibernate_spring_spring hibernate

    在"J2EE大家好.rar"这个压缩包中,"www.pudn.com.txt"可能包含了一些关于这些技术的教程链接或参考资料,而"J2EE"文件可能是一个项目实例或者是一些源代码,用于展示如何在实际开发中应用Hibernate和Spring。...

    Hibernate 课件_HQL

    ### Hibernate 课件_HQL 知识点解析 #### HQL查询 ...这些知识点涵盖了HQL的基本概念、查询方法、各种高级查询技巧以及Session的管理等方面,希望能够帮助大家更好地理解和掌握Hibernate的HQL查询技术。

    HIBERNATE帮助手册

    HIBERNATE帮助手册,可以方便大家查阅

    struts+hibernate shoppingcart(购物车)

    半年前,学习struts和hibernate时候写的 也就只用了三天,可能对大家学习有帮助.\ struts+hibernate+jsp+mysql 算是为自己毕业一年做个纪念. 现在自己天天写代码也就没有当初学习写代码时的快乐了....

    HIbernate中文帮助文档

    这是一个很不错的帮助文档 希望对大家有很好的帮助

Global site tag (gtag.js) - Google Analytics