您的位置:程序门 -> java -> j2ee / ejb / jms



hibernate oracle 问题:插入(可为空的属性)时出现 java.lang.nullpointerexception at oracle.jdbc.dbaccess.dbdata.clearitem(dbdata.java:431) 


[收藏此页] [打印本页]选择字色:背景色:字体:[][][]


hibernate oracle 问题:插入(可为空的属性)时出现 java.lang.nullpointerexception at oracle.jdbc.dbaccess.dbdata.clearitem(dbdata.java:431)
发表于:2007-10-08 10:58:43 楼主
我的pojo.hm.xml是:
<?xml   version="1.0"   encoding="utf-8"?>
<!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="com.bluecx.model.orders"   table="orders"   schema="scott">
                <id   name="ordid"   type="java.lang.long">
                        <column   name="ordid"   precision="22"   scale="0"   />
                        <generator   class="increment"   />
                </id>
                <many-to-one  
                name="customer"  
                class="com.bluecx.model.customer"  
                cascade="none"
                insert="true"
                update="true"
                access="property"
                not-null="true"
                fetch="select">
                        <column   name="cid"   precision="22"   scale="0"   />
                </many-to-one>
                <property   name="ordname"   type="java.lang.string">
                        <column   name="ordname"   length="20"   />
                </property>
        </class>
</hibernate-mapping>

数据库是:oracle9i   ;
jdbc:jdbc2_0-stdext.jar(加hibernate时,自动导入的)

数据库驱动是:classes12.jar(我只用了这一个)
代码是:
session   session=hibernatesessionfactory.getsession();
transaction   transaction=session.begintransaction();
aorder   order   =   new   aorder();
order.setname("new   order");//sex属性没有赋值:为null
session.save(order);
transaction.commit();
session.close();
错误是:
hibernate:   select   aaa.nextval   from   dual
hibernate:   insert   into   qydj.aorder   (name,   orderid)   values   (?,   ?)
2007-10-08   10:55:19,828   [com.mchange.v2.c3p0.stmt.googoostatementcache]-[info]   problem   with   checked-in   statement,   discarding.
java.lang.nullpointerexception
at   oracle.jdbc.dbaccess.dbdata.clearitem(dbdata.java:431)
at   oracle.jdbc.dbaccess.dbdatasetimpl.clearitem(dbdatasetimpl.java:3528)
at   oracle.jdbc.driver.oraclepreparedstatement.clearparameters(oraclepreparedstatement.java:3401)
at   com.mchange.v2.c3p0.stmt.googoostatementcache.refreshstatement(googoostatementcache.java:522)
at   com.mchange.v2.c3p0.stmt.googoostatementcache.checkinstatement(googoostatementcache.java:136)
at   com.mchange.v2.c3p0.impl.newpooledconnection.checkinstatement(newpooledconnection.java:173)
at   com.mchange.v2.c3p0.impl.newproxypreparedstatement.close(newproxypreparedstatement.java:1807)
at   org.hibernate.jdbc.abstractbatcher.closepreparedstatement(abstractbatcher.java:471)
at   org.hibernate.jdbc.abstractbatcher.closestatement(abstractbatcher.java:218)
at   org.hibernate.jdbc.abstractbatcher.EXECutebatch(abstractbatcher.java:198)
at   org.hibernate.engine.actionqueue.EXECuteactions(actionqueue.java:235)
at   org.hibernate.engine.actionqueue.EXECuteactions(actionqueue.java:139)
at   org.hibernate.event.def.abstractflushingeventlistener.performEXECutions(abstractflushingeventlistener.java:297)
at   org.hibernate.event.def.defaultflusheventlistener.onflush(defaultflusheventlistener.java:27)
at   org.hibernate.impl.sessionimpl.flush(sessionimpl.java:985)
at   org.hibernate.impl.sessionimpl.managedflush(sessionimpl.java:333)
at   org.hibernate.transaction.jdbctransaction.commit(jdbctransaction.java:106)
at   com.dotease.test.testdao.main(testdao.java:33)


发表于:2007-10-08 11:15:281楼 得分:0
<class   name="com.bluecx.model.orders"   table="orders"   schema="scott"   >  

aorder   order   =   new   aorder();
order.setname("new   order");

请给出对应的配置文件。
发表于:2007-10-08 11:43:462楼 得分:0
搞错了!
我的pojo.hm.xml是:  
<?xml   version="1.0"   encoding="utf-8"?>
<!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   persistence   tools
-->
<hibernate-mapping>
        <class   name="com.dotease.bean.aorder"   table="aorder"   schema="qydj"   dynamic-insert="true"   dynamic-update="true">
                <id   name="orderid"   type="java.lang.long"     >
                        <column   name="orderid"   precision="10"   scale="0"   />
                        <generator   class="sequence"   >
                        <param   name="sequence"> aaa </param> </generator>
                </id>    
                <property   name="name"   type="java.lang.string">
                        <column   name="name"   length="10"   />
                </property>
                <property   name="sex"   type="java.lang.string">
                        <column   name="sex"   length="10"   />
                </property>
        </class>
</hibernate-mapping>
发表于:2007-10-08 11:44:013楼 得分:0
搞错了!
我的pojo.hm.xml是:  
<?xml   version="1.0"   encoding="utf-8"?>
<!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   persistence   tools
-->
<hibernate-mapping>
        <class   name="com.dotease.bean.aorder"   table="aorder"   schema="qydj"   dynamic-insert="true"   dynamic-update="true">
                <id   name="orderid"   type="java.lang.long"     >
                        <column   name="orderid"   precision="10"   scale="0"   />
                        <generator   class="sequence"   >
                        <param   name="sequence"> aaa </param> </generator>
                </id>    
                <property   name="name"   type="java.lang.string">
                        <column   name="name"   length="10"   />
                </property>
                <property   name="sex"   type="java.lang.string">
                        <column   name="sex"   length="10"   />
                </property>
        </class>
</hibernate-mapping>
发表于:2007-10-08 11:47:464楼 得分:0
还有就是:
我的文件pojo类,*.hb.xml放到加一个工程!
同要的代码,在那个工程,就没有问题!
发表于:2007-10-08 11:52:315楼 得分:0
我在网上搜了一下,说是和jdbc的驱动有关。
我晕!那人也没有再细说一下!
唉!
那位大虾,救命呀!
发表于:2007-10-08 13:41:506楼 得分:0
搞定了!妈的,oracle9i自带的classes12.jar!太低了!
换一个1.84   mb就行了!
果真是版本问题!


快速检索

最新资讯
热门点击