<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    躺在沙灘上的小豬

    快樂的每一天

    #

    一次類型轉換的錯誤

    RoomType和RoomState的主鍵是Integer,在get的時候忘記轉換為Integer了:

    ???????? this .getHibernateTemplate().execute( new ?HibernateCallback()?{
    ????????????
    public ?Object?doInHibernate(Session?session)? throws ?HibernateException?{
    ????????????????room.setType((RoomType)?session.get(RoomType.
    class ,?typeId));
    ????????????????room.setState((RoomState)?session.get(RoomState.
    class ,?stateId));
    ????????????????session.update(room);
    ????????????????
    return ? null ;
    ????????????}
    ????????});

    沒想到hibernate居然大動干做,拋出一大堆的exception

    java.sql.SQLException:?索引中丟失??IN?或?OUT?參數::?1
    ????at?oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java:
    112)
    ????at?oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java:
    146)
    ????at?oracle.jdbc.driver.OraclePreparedStatement.processCompletedBindRow(OraclePreparedStatement.java:
    1681)
    ????at?oracle.jdbc.driver.OraclePreparedStatement.executeInternal(OraclePreparedStatement.java:
    3280)
    ????at?oracle.jdbc.driver.OraclePreparedStatement.executeQuery(OraclePreparedStatement.java:
    3329)
    ????at?org.apache.commons.dbcp.DelegatingPreparedStatement.executeQuery(DelegatingPreparedStatement.java:
    92)
    ????at?org.hibernate.jdbc.AbstractBatcher.getResultSet(AbstractBatcher.java:
    139)
    ????at?org.hibernate.loader.Loader.getResultSet(Loader.java:
    1669)
    ????at?org.hibernate.loader.Loader.doQuery(Loader.java:
    662)
    ????at?org.hibernate.loader.Loader.doQueryAndInitializeNonLazyCollections(Loader.java:
    224)
    ????at?org.hibernate.loader.Loader.doList(Loader.java:
    2145)
    ????at?org.hibernate.loader.Loader.listIgnoreQueryCache(Loader.java:
    2029)
    ????at?org.hibernate.loader.Loader.list(Loader.java:
    2024)
    ????at?org.hibernate.loader.hql.QueryLoader.list(QueryLoader.java:
    375)
    ????at?org.hibernate.hql.ast.QueryTranslatorImpl.list(QueryTranslatorImpl.java:
    308)
    ????at?org.hibernate.engine.query.HQLQueryPlan.performList(HQLQueryPlan.java:
    153)
    ????at?org.hibernate.impl.SessionImpl.list(SessionImpl.java:
    1129)
    ????at?org.hibernate.impl.QueryImpl.list(QueryImpl.java:
    79)
    ????at?org.hibernate.impl.AbstractQueryImpl.uniqueResult(AbstractQueryImpl.java:
    749)
    ????at?com.phopesoft.hms.room.service.impl.RoomServiceImpl$
    3.doInHibernate(RoomServiceImpl.java:151)
    ????at?org.springframework.orm.hibernate3.HibernateTemplate.execute(HibernateTemplate.java:
    366)
    ????at?org.springframework.orm.hibernate3.HibernateTemplate.execute(HibernateTemplate.java:
    334)

    這樣的錯誤真是讓我一點莫不著頭腦,還好從后臺打出的hql看到了錯誤的信息

    org.springframework.jdbc.UncategorizedSQLException:?Hibernate?operation:
    ?could?not?execute?query;?uncategorized?SQLException?
    for?SQL?[
    ?...
    ?SQL?state?[null];?error?code?[17041];?索引中丟失??IN?或?OUT?參數::1;
    ?nested?exception?is?java.sql.SQLException:?索引中丟失??IN?或?OUT?參數::?
    1

    不就是沒找到嗎,干嘛要這樣呢

    將String類型轉換為Integer就沒事了
    ????????this.getHibernateTemplate().execute(new?HibernateCallback()?{
    ????????????
    public?Object?doInHibernate(Session?session)?throws?HibernateException?{
    ????????????????room.setType((RoomType)?session.get(RoomType.
    class,?new?Integer(typeId)));
    ????????????????room.setState((RoomState)?session.get(RoomState.
    class,?new?Integer(stateId)));
    ????????????????session.update(room);
    ????????????????
    return?null;
    ????????????}
    ????????});

    posted @ 2006-05-03 11:16 martin xus| 編輯 收藏

    JBoss 居然不認識webwork的

    在resin和weblogic上跑的很好的程序,今天早上移植到JBoss上?,頁面跑到<ww:if處沒法正常運行,報錯,換成<c:if 就沒有問題了.

    一大早的被郁悶了一下

    posted @ 2006-05-02 13:35 martin xus| 編輯 收藏

    小結一下OpenSessionInView

    感謝javaeye差沙和cac的回復.

    OpenSessionInView默認的FlushMode為

    FlushMode.NEVER?

    可以采用在寫保存更新刪除代碼的時候手動更改FlushMode

    ????????this.getHibernateTemplate().execute(new?HibernateCallback()?{?
    ????????????
    public?Object?doInHibernate(Session?session)?throws?HibernateException?{?
    ????????????????session.setFlushMode(FlushMode.AUTO);?
    ????????????????session.save(user);?
    ????????????????session.flush();?
    ????????????????
    return?null;?
    ????????????}?
    ????????});?

    但是這樣做太繁瑣了,第二種方式是采用spring的事務聲明

    ????<bean?id="baseTransaction"?class="org.springframework.transaction.interceptor.TransactionProxyFactoryBean"?
    ??????????abstract
    ="true">?
    ????????
    <property?name="transactionManager"?ref="transactionManager"/>?
    ????????
    <property?name="proxyTargetClass"?value="true"/>?
    ????????
    <property?name="transactionAttributes">?
    ????????????
    <props>?
    ????????????????
    <prop?key="get*">PROPAGATION_REQUIRED,readOnly</prop>?
    ????????????????
    <prop?key="find*">PROPAGATION_REQUIRED,readOnly</prop>?
    ????????????????
    <prop?key="load*">PROPAGATION_REQUIRED,readOnly</prop>?
    ????????????????
    <prop?key="save*">PROPAGATION_REQUIRED</prop>?
    ????????????????
    <prop?key="add*">PROPAGATION_REQUIRED</prop>?
    ????????????????
    <prop?key="update*">PROPAGATION_REQUIRED</prop>?
    ????????????????
    <prop?key="remove*">PROPAGATION_REQUIRED</prop>?
    ????????????
    </props>?
    ????????
    </property>?
    ????
    </bean>?

    ????<bean?id="userService"?parent="baseTransaction">?
    ????????
    <property?name="target">?
    ????????????
    <bean?class="com.phopesoft.security.service.impl.UserServiceImpl"/>?
    ????????
    </property>?
    ????
    </bean>?

    posted @ 2006-05-01 11:43 martin xus| 編輯 收藏

    為何OpenSessionInView不能同時保存和刪除,郁悶!

    因為lazy的問題,還是采用了OpenSessionInView
    一開始我的web.xml配置文件如下:

    ????<filter>?
    ????????
    <filter-name>opensession</filter-name>?
    ????????
    <filter-class>org.springframework.orm.hibernate3.support.OpenSessionInViewFilter</filter-class>?
    ????
    </filter>?

    寫了個保存的代碼測試了一下,報如下的錯誤:

    org.springframework.dao.InvalidDataAccessApiUsageException:?Write?operations?
    are?not?allowed?in?read
    -only?mode?(FlushMode.NEVER)?-?turn?your?Session?
    into?FlushMode.AUTO?or?remove?
    'readOnly'?marker?from?transaction?definition?
    ????????at?org.springframework.orm.hibernate3.HibernateTemplate.checkWriteOperationAllowed(HibernateTemplate.java:
    1076)?
    ????????at?org.springframework.orm.hibernate3.HibernateTemplate$
    12.doInHibernate(HibernateTemplate.java:616)?
    ????????at?org.springframework.orm.hibernate3.HibernateTemplate.execute(HibernateTemplate.java:
    366)?
    ????????at?org.springframework.orm.hibernate3.HibernateTemplate.save(HibernateTemplate.java:
    614)?
    ????????at?com.phopesoft.security.service.impl.UserServiceImpl.addUser(UserServiceImpl.java:
    40)?
    ????????at?com.phopesoft.security.web.UserAction.add(UserAction.java:
    52)?
    ????????at?sun.reflect.NativeMethodAccessorImpl.invoke0(Native?Method)?
    ????????at?sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:
    39)?
    ????????at?sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:
    25)?
    ????????at?java.lang.reflect.Method.invoke(Method.java:
    585)?
    ????????at?com.opensymphony.xwork.DefaultActionInvocation.invokeAction(DefaultActionInvocation.java:
    365)?
    .?

    在javaeye中搜索了一下,發現了Readonly的帖子,將web.xml修改為如下:

    <filter>?
    ????????
    <filter-name>opensession</filter-name>?
    ????????
    <filter-class>org.springframework.orm.hibernate3.support.OpenSessionInViewFilter</filter-class>?
    ????????
    <init-param>?
    ????????????
    <param-name>singleSession</param-name>?
    ????????????
    <param-value>false</param-value>?
    ????????
    </init-param>?
    ????
    </filter>?


    保存的代碼順利通過測試,但是刪除的代碼卻不能通過了.出現如下的錯誤:

    org.hibernate.HibernateException:?Illegal?attempt?to?associate?a?collection?
    with?two?open?sessions?
    ????????at?org.hibernate.collection.AbstractPersistentCollection.setCurrentSession(AbstractPersistentCollection.java:
    410)?
    ????????at?org.hibernate.event.def.OnUpdateVisitor.processCollection(OnUpdateVisitor.java:
    40)?
    ????????at?org.hibernate.event.def.AbstractVisitor.processValue(AbstractVisitor.java:
    101)?
    ????????at?org.hibernate.event.def.AbstractVisitor.processValue(AbstractVisitor.java:
    61)?
    ????????at?org.hibernate.event.def.AbstractVisitor.processEntityPropertyValues(AbstractVisitor.java:
    55)?
    ????????at?org.hibernate.event.def.AbstractVisitor.process(AbstractVisitor.java:
    123)?
    ????????at?org.hibernate.event.def.DefaultDeleteEventListener.onDelete(DefaultDeleteEventListener.java:
    72)?
    ????????at?org.hibernate.impl.SessionImpl.fireDelete(SessionImpl.java:
    790)?
    ????????at?org.hibernate.impl.SessionImpl.delete(SessionImpl.java:
    768)?
    ????????at?org.springframework.orm.hibernate3.HibernateTemplate$
    25.doInHibernate(HibernateTemplate.java:772)?
    ????????at?org.springframework.orm.hibernate3.HibernateTemplate.execute(HibernateTemplate.java:
    366)?
    ????????at?org.springframework.orm.hibernate3.HibernateTemplate.delete(HibernateTemplate.java:
    766)?
    ????????at?org.springframework.orm.hibernate3.HibernateTemplate.delete(HibernateTemplate.java:
    762)?

    同樣在論壇里面搜索到遇到這個問題的朋友,回帖說去掉singleSession!

    迷惑了

    posted @ 2006-04-30 15:48 martin xus| 編輯 收藏

    Ruby for Rails



    正好這段時間有空,開始研讀rails。本身我沒有ruby基礎,也一直沒有太大的興趣,這本書正好是對沒有ruby基礎人寫的rails教程。

    Thanks manning:)

    posted @ 2006-04-28 10:56 martin xus| 編輯 收藏

    僅列出標題
    共28頁: 上一頁 1 2 3 4 5 6 7 8 9 下一頁 Last 
    主站蜘蛛池模板: 国产福利免费观看| 久久精品国产精品亚洲人人| 中文字幕无码精品亚洲资源网久久| 性xxxx视频播放免费| 青娱乐在线视频免费观看| 久久精品国产亚洲香蕉| 18国产精品白浆在线观看免费| 精品国产亚洲一区二区三区在线观看| 国产亚洲真人做受在线观看| 成人无码区免费A片视频WWW| jizz在线免费播放| 久久亚洲精品国产亚洲老地址| 亚洲色无码一区二区三区| 成人免费无码视频在线网站| h视频在线免费观看| 亚洲日韩乱码中文无码蜜桃 | 国产成人无码精品久久久免费 | 两性刺激生活片免费视频| 日韩a毛片免费观看| 亚洲妓女综合网99| 国产午夜亚洲精品午夜鲁丝片| 无码国产精品一区二区免费I6| 不卡视频免费在线观看| 亚洲综合欧美色五月俺也去| 亚洲成A人片在线观看WWW| 国产区卡一卡二卡三乱码免费| 免费不卡在线观看AV| 污网站在线免费观看| 亚洲人成www在线播放| 亚洲av无码不卡| 亚洲一区无码精品色| 日韩人妻无码免费视频一区二区三区| 日本在线看片免费人成视频1000| 理论秋霞在线看免费| 亚洲乱码中文字幕在线| 亚洲男人天堂影院| 亚洲AV综合色区无码另类小说| 亚洲中文字幕在线第六区| 免费v片在线观看| 国产高清免费在线| 国内免费高清在线观看|