首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > JAVA > J2EE开发 >

新手自学Hibernate,第一个程序就错误T_T

2012-12-16 
新手自学Hibernate,第一个程序就异常T_T俺刚刚照着官方帮助文档建了个例子,往数据库里放数据。运行时出现异

新手自学Hibernate,第一个程序就异常T_T
俺刚刚照着官方帮助文档建了个例子,往数据库里放数据。运行时出现异常,但是数据还是写入成功了,非常诡异,不知是何原因。。

红色部分,请看

二月 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
        (?, ?, ?)

[最优解释]
再看了下,确实这个东西只是个 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
[其他解释]
jar包的版本问题  特别是oracle
[其他解释]
java通过jdbc连接sqlserver和oracle时出现这个异常。虽然抛出这个异常,但对整个应用没有影响。这个异常产生的原因是jar包的版本不对。连接oracle10g的jdbc用ojdbc6.jar(1942k),连接sqlserver2008用sqljdbc.jar(570k),而不用sqljdbc4.jar(567k)


[其他解释]
你的程序中有LOB 类型的字段吗,如果有主意LOB类型的处理和其他的不同。
LOB类型的处理详见google.
刚学,你就不要搞LOB了。
估计你的字段类型有问题。当然也可能有2#的问题。
[其他解释]
你跟createClob()中看看发生了什么?
[其他解释]
把你的bean对象贴出来瞧瞧
[其他解释]
哎 木有人么?
[其他解释]
楼上几位,都是大牛啊,我这就是用的oracle,jar包用的是Hibernate4.0,oracle是11g,ojdbc14.jar。已经是最新的了。。这版本问题真是无解了。。
[其他解释]
INFO: HHH000400: Using dialect: org.hibernate.dialect.Oracle10gDialect
二月 23, 2012 3:56:01 下午 org.hibernate.engine.jdbc.internal.LobCreatorBuilder useContextualLobCreation

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

不过很久没用过Hibernate了,所以没法有啥定论。
[其他解释]

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

你是玩Oracle11g?但你的Hiberna……


Hibernate4的官方资料里说11g和10g都是Oracle10gDialect。。
[其他解释]
引用:
你跟createClob()中看看发生了什么?


压根儿就没用到createClob()。。。估计是底层的一个方法
[其他解释]
引用:
再看了下,确实这个东西只是个 INFO 级别的,也就是说仅仅是提醒,确实无关紧要。
INFO: HHH000424: Disabling contextual LOB creation as createClob() method threw error : java.lang.reflect.InvocationTargetException


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


好吧 我可以安心的去了
[其他解释]
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.
[其他解释]
我也遇到这个问题,换成odbc6.jar,问题就解决了!

热点排行