0
在我們的Play應用程序中,我們使用Ebean ORM。我們有用於繼承Play Model類的模型類。自Play 2.4以來,我們的模型類必須從Avaje Ebean Model類繼承。這些模型類是增強的,即有幾種方法被注入到我們的模型類中。由於這種變化,我們得到JAXB錯誤信息,說例如:Ebean增強搞亂了JAXB序列化
Caused by: com.sun.xml.internal.bind.v2.runtime.IllegalAnnotationsException: 1 counts of IllegalAnnotationExceptions
com.avaje.ebean.bean.PersistenceContext is an interface, and JAXB can't handle interfaces.
this problem is related to the following location:
at com.avaje.ebean.bean.PersistenceContext
at public com.avaje.ebean.bean.PersistenceContext com.avaje.ebean.bean.EntityBeanIntercept.getPersistenceContext()
at com.avaje.ebean.bean.EntityBeanIntercept
at protected com.avaje.ebean.bean.EntityBeanIntercept models.Phase._ebean_intercept
at models.Phase
我試圖通過增加這階段模型類來解決此問題:
@XmlTransient
public EntityBeanIntercept _ebean_intercept() {
throw new NotImplementedException();
};
可惜,這招不起作用,結果在錯誤消息「類文件模型/階段中的複製方法名稱&簽名」中。有沒有另一種告訴JAXB忽略這個類的增強成員的方法?