不兼容的参数在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 

在每个包装领域。

任何线索?

谢谢!

+0

你有没有想出解决办法?我遇到了OSGi容器内的类似Hyperjaxb的类的问题。 – Sbodd 2012-09-19 18:30:00

原因(几乎总是)为java.lang.VerifyError的这样的一个消息是,你比你运行的是针对不同版本的类的编译。这意味着可能有两个版本的getValueItem - 一个具有匹配的签名而另一个没有。

大多数情况下,这个问题当然会面临外部库 - 例如,针对较新的版本编译并使用较旧的版本运行。

只需清理垃圾桶,重建所有内容,也许您会发现编译时错误,或者在最好的情况下马上解决问题。

+0

难道是我为JPA制作的增强功能造成的吗?我做了一个干净但问题仍在发生。 – Ziggurat 2012-07-12 12:52:06