hibernate学习笔记_第1页
hibernate学习笔记_第2页
hibernate学习笔记_第3页
hibernate学习笔记_第4页
全文预览已结束

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

错误错误 1 解决解决 HIbernate3 运行出现运行出现 No CurrentSessionContext configured 错误错误 是由于函数 getcurrentsession 造成的 可以将其改为 opensession 也可以进行一下修改 修改配置文件 hibernate cfg xml 根据运行环境添加如下配置 1 在容器中运行即在集成环境下 例如 Jboss 在 hibernate cfg xml 中 session factory 段加入 jta 2 独立运行 即在不集成 Hibernate 的环境下 例如使用 JDBC 的独立应用程序 在 hibernate cfg xml 中 session factory 段加入 myeclipse6 0 thread 注 hibernate cfg xml 文件中内容的编写是有顺序的 先 property 然后是 mapping 以上内容 是 property 应在 mapping 之上 错误错误 2 hibernate3 No TransactionManagerLookup specified Session session sessionFactory opensession 而不是 Session session sessionFactory getCurrentSession openSession 与与 getCurrentSession 区别 区别 1 getCurrentSession 创建的 session 会和绑定到当前线程 而 openSession 不会 2 getCurrentSession 创建的线程会在事务回滚或事物提交后自动关闭 而 openSession 必须手动关 闭 这里 getCurrentSession 本地事务 本地事务 jdbc 时要在配置文件里进行如下设置 如果使用的是本地事务 jdbc 事务 thread 如果使用的是全局事务 jta 事务 jta 3 getCurrentSession 使用当前的 session openSession 重新建立一个新的 session 4 在一个应用程序中 如果 DAO 层使用 Spring 的 hibernate 模板 通过 Spring 来控制 session 的生命周期 则首选 getCurrentSession 5 在 SessionFactory 启动的时候 Hibernate 会根据配置创建相应的 CurrentSessionContext 在 getCurrentSession 被调用的时候 实际被执行的方法是 CurrentSessionContext currentSession 在 currentSession 执行时 如果当前 Session 为空 currentSession 会调用 SessionFactory 的 openSession 所以 getCurrentSession 对于 Java EE 来说是更好的获取 Session 的方法 错误错误 3 org hibernate hql ast QuerySyntaxException User is not mapped from User user 错误原因是 映射文件必须是完整的包名加类名的完整的路径 不然运行失败错误原因是 映射文件必须是完整的包名加类名的完整的路径 不然运行失败 比如 比如 Class name com tea User 在在 User hbm xml 中设置中设置 at org hibernate hql ast util SessionFactoryHelper requireClassPersister Session FactoryHelper java 158 at org hibernate hql ast tree FromElementFactory addFromElement FromEleme ntFactory java 87 at org hibernate hql ast tree FromClause addFromElement FromClause java 70 at org hibernate hql ast HqlSqlWalker createFromElement HqlSqlWalker java 25 5 at org hibernate hql antlr HqlSqlBaseWalker fromElement HqlSqlBaseWalker jav a 3056 at org hibernate hql antlr HqlSqlBaseWalker fromElementList HqlSqlBaseWalker j ava 2945 at org hibernate hql antlr HqlSqlBaseWalker fromClause HqlSqlBaseWalker java 6 88 at 4 hibernate 反向工程的问题以及注意事项反向工程的问题以及注意事项 Oracle 的主键设置为 number 类型的时候 应用反向工程添加 hibernate 的主键生成策略的 时候 1 Sequence 策略时必须在数据库中编写指定的 sequence H shop ID Increment策略时自动生成的java类型是number BigDecial不合乎要求且出错 应该将其改 为java lang Integer这样就Ok了 但是当用标准的SQL语言 非HQL 查出来的number字段 都是BigDecial类型的哦必须进行类型转换 如果不改就错误了 bigdecial不支持xception in thread main org hibernate id IdentifierGenerationException this id generator generates long integer short at org hibernate id IdentifierGeneratorFactory createNumber IdentifierGe neratorFactory java 125 at org hibernate id IncrementGenerator generate IncrementGenerator java 46 at org hibernate event def AbstractSaveEventListener saveWithGeneratedId AbstractSaveEventListener java 99 at org hibernate event def DefaultSaveOrUpdateEventListener saveWithGene ratedOrRequestedId DefaultSaveOrUpdateEventListener java 187 at org hibernate event def DefaultSaveEventListener saveWithGeneratedOrR equestedId DefaultSaveEventListener java 33 at org hibernate event def DefaultSaveOrUpdateEventListener entityIsTran sient DefaultSaveOrUpdateEventListener java 172 at org hibernate event def DefaultSaveEventListener performSaveOrUpdate DefaultSaveEventListener java 27 at org hibernate event def DefaultSaveOrUpdateEventListener onSaveOrUpda te DefaultSaveOrUpdateEventListener java 70 at org hibernate impl SessionImpl fireSave SessionImpl java 535 at org hibernate impl SessionImpl save SessionImpl java 523 at org hibernate impl SessionImpl save SessionImpl java 519 at com tea model BookDAO save BookDAO java 28 2 at Test main Test java 19 3 利用现有的 hibernate 的工具生成的 DAO 文件的 save 方法是错误的 应为 jdbc 默 认的是手动提交事务 hibernate 默认的是默认提交事务 所以必须修改为显示提交事 务 public void save Book transientInstance log debug saving Book instance try getSession beginTransaction begin getSession save transientInstance getSession beginTransact

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论