不兼容的参数在JPA与JAXB类型的功能
问题描述:
如这里解释:How to map Duration type with JPA不兼容的参数在JPA与JAXB类型的功能
我有相同的代码和JAXB正在生成getter和setter包装:
@Basic
@Column(name = "VALUEITEM", length = 127)
public String getValueItem() {
return XmlAdapterUtils.unmarshall(DurationAsString.class, this.getValue());
}
public void setValueItem(String target) {
setValue(XmlAdapterUtils.marshall(DurationAsString.class, target));
}
而是试图持久化对象时我得到了:
method: pcgetValueItem signature:()Ljava/lang/String;) Incompatible argument to function
在每个包装领域。
任何线索?
谢谢!
答
原因(几乎总是)为java.lang.VerifyError的这样的一个消息是,你比你运行的是针对不同版本的类的编译。这意味着可能有两个版本的getValueItem - 一个具有匹配的签名而另一个没有。
大多数情况下,这个问题当然会面临外部库 - 例如,针对较新的版本编译并使用较旧的版本运行。
只需清理垃圾桶,重建所有内容,也许您会发现编译时错误,或者在最好的情况下马上解决问题。
+0
难道是我为JPA制作的增强功能造成的吗?我做了一个干净但问题仍在发生。 – Ziggurat 2012-07-12 12:52:06
你有没有想出解决办法?我遇到了OSGi容器内的类似Hyperjaxb的类的问题。 – Sbodd 2012-09-19 18:30:00