最近在oc4j上採用EJB3開發程式
在傳遞entity物件時
老是出現以下錯誤


2007/11/26 下午 12:37:33 oracle.j2ee.rmi.RMIMessages EXCEPTION_ORIGINATES_FROM_THE_REMOTE_SERVER
警告: Exception returned by remote server: {0}
com.evermind.server.rmi.RMIConnectionException: Disconnected: com.pchome.nas.persistence.entity.NasLog; local class incompatible: stream classdesc serialVersionUID = -5326236212174873117, local class serialVersionUID = 5777183428887744502
at com.evermind.server.rmi.RmiCallQueue.notifyQueuedThreads(RmiCallQueue.java:70)


at com.evermind.server.rmi.RMIClientConnection.notifyQueuedThreads(RMIClientConnection.java:154)
at com.evermind.server.rmi.RMIClientConnection.resetState(RMIClientConnection.java:128)
at com.evermind.server.rmi.RMIConnection.receiveDisconnect(RMIConnection.java:233)
at com.evermind.server.rmi.RMIClientConnection.receiveDisconnect(RMIClientConnection.java:140)
at com.evermind.server.rmi.RMIConnection.handleOrmiCommand(RMIConnection.java:208)
at com.evermind.server.rmi.RMIClientConnection.processReceivedCommand(RMIClientConnection.java:222)
at com.evermind.server.rmi.RMIConnection.handleCommand(RMIConnection.java:152)
at com.evermind.server.rmi.RMIConnection.listenForOrmiCommands(RMIConnection.java:127)
at com.evermind.server.rmi.RMIConnection.run(RMIConnection.java:107)
at EDU.oswego.cs.dl.util.concurrent.PooledExecutor$Worker.run(PooledExecutor.java:814)
at java.lang.Thread.run(Thread.java:595)


怪了,為何其他同事都可正常傳遞entity


找了半天,原來同事的Mapping Annotations都沒有包含FK
也就是class中沒有one to many 或是 many to one的關係


而我的entity中則有此關係
這是我父table上的Annotations
@OneToMany(cascade = { CascadeType.ALL }, fetch = FetchType.LAZY, mappedBy = "nasPartner")
public Set getNasLogs() {
return this.nasLogs;
}


這是我子table上的Annotations
@ManyToOne(cascade = {}, fetch = FetchType.LAZY)
@JoinColumn(name = "LOG_PARTNER_ID", unique = false, nullable = true, insertable = true, updatable = true)
public NasPartner getNasPartner() {
return this.nasPartner;
}


真是奇怪,這個Annotations在Hibernate上明明是可以work的阿
看來TopLink不知又不吃哪個參數了,可惡...


後來我把對應關係拿掉之後,就可以正常傳遞entity了,暫時先這樣吧


arrow
arrow
    全站熱搜

    babyincar 發表在 痞客邦 留言(0) 人氣()