新手自学Hibernate,第一个程序就异常T_T

结贴是美德 2012-02-23 04:06:30
俺刚刚照着官方帮助文档建了个例子,往数据库里放数据。运行时出现异常,但是数据还是写入成功了,非常诡异,不知是何原因。。

红色部分,请看

二月 23, 2012 3:55:59 下午 org.hibernate.annotations.common.Version <clinit>
INFO: HCANN000001: Hibernate Commons Annotations {4.0.1.Final}
二月 23, 2012 3:55:59 下午 org.hibernate.Version logVersion
INFO: HHH000412: Hibernate Core {4.1.0.Final}
二月 23, 2012 3:55:59 下午 org.hibernate.cfg.Environment <clinit>
INFO: HHH000206: hibernate.properties not found
二月 23, 2012 3:55:59 下午 org.hibernate.cfg.Environment buildBytecodeProvider
INFO: HHH000021: Bytecode provider name : javassist
二月 23, 2012 3:55:59 下午 org.hibernate.cfg.Configuration configure
INFO: HHH000043: Configuring from resource: /hibernate.cfg.xml
二月 23, 2012 3:55:59 下午 org.hibernate.cfg.Configuration getConfigurationInputStream
INFO: HHH000040: Configuration resource: /hibernate.cfg.xml
二月 23, 2012 3:56:00 下午 org.hibernate.cfg.Configuration addResource
INFO: HHH000221: Reading mappings from resource: com/mh/entity/Student.hbm.xml
二月 23, 2012 3:56:00 下午 org.hibernate.cfg.Configuration doConfigure
INFO: HHH000041: Configured SessionFactory: null
二月 23, 2012 3:56:00 下午 org.hibernate.service.jdbc.connections.internal.DriverManagerConnectionProviderImpl configure
INFO: HHH000402: Using Hibernate built-in connection pool (not for production use!)
二月 23, 2012 3:56:00 下午 org.hibernate.service.jdbc.connections.internal.DriverManagerConnectionProviderImpl configure
INFO: HHH000115: Hibernate connection pool size: 20
二月 23, 2012 3:56:00 下午 org.hibernate.service.jdbc.connections.internal.DriverManagerConnectionProviderImpl configure
INFO: HHH000006: Autocommit mode: false
二月 23, 2012 3:56:00 下午 org.hibernate.service.jdbc.connections.internal.DriverManagerConnectionProviderImpl configure
INFO: HHH000401: using driver [oracle.jdbc.driver.OracleDriver] at URL [jdbc:oracle:thin:@localhost:1521:orcl]
二月 23, 2012 3:56:00 下午 org.hibernate.service.jdbc.connections.internal.DriverManagerConnectionProviderImpl configure
INFO: HHH000046: Connection properties: {user=PBUser, password=****}
二月 23, 2012 3:56:01 下午 org.hibernate.dialect.Dialect <init>
INFO: HHH000400: Using dialect: org.hibernate.dialect.Oracle10gDialect
二月 23, 2012 3:56:01 下午 org.hibernate.engine.jdbc.internal.LobCreatorBuilder useContextualLobCreation
INFO: HHH000424: Disabling contextual LOB creation as createClob() method threw error : java.lang.reflect.InvocationTargetException
二月 23, 2012 3:56:01 下午 org.hibernate.engine.transaction.internal.TransactionFactoryInitiator initiateService
INFO: HHH000399: Using default transaction strategy (direct JDBC transactions)
二月 23, 2012 3:56:01 下午 org.hibernate.hql.internal.ast.ASTQueryTranslatorFactory <init>
INFO: HHH000397: Using ASTQueryTranslatorFactory
Hibernate:
insert
into
STUDENT
(name, age, ID)
values
(?, ?, ?)
...全文
12437 17 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
17 条回复
切换为时间正序
请发表友善的回复…
发表回复
waylonglong 2013-12-03
  • 打赏
  • 举报
回复
我的是Oracle 10g,jdk 1.7换成ojdbc6.jar还是不行啊,是不是我的版本还是不对呢?谢谢!
影子里的句号 2013-11-18
  • 打赏
  • 举报
回复
非常感谢,我刚开始用oracale10g.jar,换成ojdbc6.jar就解决了
aliuges 2013-10-24
  • 打赏
  • 举报
回复
引用 14 楼 tyest 的回复:
我也遇到这个问题,换成odbc6.jar,问题就解决了!
正解!
tyest 2012-11-16
  • 打赏
  • 举报
回复
我也遇到这个问题,换成odbc6.jar,问题就解决了!
乐乐不在这 2012-09-10
  • 打赏
  • 举报
回复
As you noticed, this exception isn't a real problem. It happens during the boot, when Hibernate tries to retrieve some meta information from the database. If this annoys you, you can disable it:

hibernate.temp.use_jdbc_metadata_defaults=false

mabe try.
结贴是美德 2012-02-23
  • 打赏
  • 举报
回复
[Quote=引用 11 楼 ldh911 的回复:]

再看了下,确实这个东西只是个 INFO 级别的,也就是说仅仅是提醒,确实无关紧要。
INFO: HHH000424: Disabling contextual LOB creation as createClob() method threw error : java.lang.reflect.InvocationTargetException


另外查了下,有些处理办法,可以关闭掉这……
[/Quote]

好吧 我可以安心的去了
MiceRice 2012-02-23
  • 打赏
  • 举报
回复
再看了下,确实这个东西只是个 INFO 级别的,也就是说仅仅是提醒,确实无关紧要。
INFO: HHH000424: Disabling contextual LOB creation as createClob() method threw error : java.lang.reflect.InvocationTargetException


另外查了下,有些处理办法,可以关闭掉这个东西:
http://stackoverflow.com/questions/4588755/hibernate-disabling-contextual-lob-creation-as-createclob-method-threw-error
月亮床 2012-02-23
  • 打赏
  • 举报
回复
把你的bean对象贴出来瞧瞧
结贴是美德 2012-02-23
  • 打赏
  • 举报
回复
[Quote=引用 7 楼 gudong2945 的回复:]

你跟createClob()中看看发生了什么?
[/Quote]

压根儿就没用到createClob()。。。估计是底层的一个方法
结贴是美德 2012-02-23
  • 打赏
  • 举报
回复
[Quote=引用 6 楼 ldh911 的回复:]

INFO: HHH000400: Using dialect: org.hibernate.dialect.Oracle10gDialect
二月 23, 2012 3:56:01 下午 org.hibernate.engine.jdbc.internal.LobCreatorBuilder useContextualLobCreation

你是玩Oracle11g?但你的Hiberna……
[/Quote]

Hibernate4的官方资料里说11g和10g都是Oracle10gDialect。。
xyz0101123132 2012-02-23
  • 打赏
  • 举报
回复
你跟createClob()中看看发生了什么?
MiceRice 2012-02-23
  • 打赏
  • 举报
回复
INFO: HHH000400: Using dialect: org.hibernate.dialect.Oracle10gDialect
二月 23, 2012 3:56:01 下午 org.hibernate.engine.jdbc.internal.LobCreatorBuilder useContextualLobCreation

你是玩Oracle11g?但你的Hibernate用的是Oracle10gDialect,可能问题在这儿吧?

不过很久没用过Hibernate了,所以没法有啥定论。
结贴是美德 2012-02-23
  • 打赏
  • 举报
回复
楼上几位,都是大牛啊,我这就是用的oracle,jar包用的是Hibernate4.0,oracle是11g,ojdbc14.jar。已经是最新的了。。这版本问题真是无解了。。
IT-麦迪 2012-02-23
  • 打赏
  • 举报
回复
jar包的版本问题 特别是oracle
xyz0101123132 2012-02-23
  • 打赏
  • 举报
回复
你的程序中有LOB 类型的字段吗,如果有主意LOB类型的处理和其他的不同。
LOB类型的处理详见google.
刚学,你就不要搞LOB了。
估计你的字段类型有问题。当然也可能有2#的问题。
莫忘 2012-02-23
  • 打赏
  • 举报
回复
java通过jdbc连接sqlserver和oracle时出现这个异常。虽然抛出这个异常,但对整个应用没有影响。这个异常产生的原因是jar包的版本不对。连接oracle10g的jdbc用ojdbc6.jar(1942k),连接sqlserver2008用sqljdbc.jar(570k),而不用sqljdbc4.jar(567k)

结贴是美德 2012-02-23
  • 打赏
  • 举报
回复
哎 木有人么?

67,550

社区成员

发帖
与我相关
我的任务
社区描述
J2EE只是Java企业应用。我们需要一个跨J2SE/WEB/EJB的微容器,保护我们的业务核心组件(中间件),以延续它的生命力,而不是依赖J2SE/J2EE版本。
社区管理员
  • Java EE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧