默认情况下,grails似乎为Java域对象的toString()返回<class name>:<id>
。这根本不是我想要的,所以我试着@Override
toString()返回我想要的东西。当我尝试grails generate-all Tagtype时,我收到以下错误:
java.lang.LinkageError: loader constraint violation: loader (instance of <bootloader>) previously initiated loading for a differen
t type with name "org/w3c/dom/NamedNodeMap"
我的代码如下。任何帮助将不胜感激。
@Entity
@Table(name = "tagtype", catalog = "tigger")
@SuppressWarnings("serial")
public class Tagtype implements Serializable {
/**
* Attribute id.
*/
private Integer id;
/**
* Attribute tagtype.
*/
private String tagtype;
/**
* Attribute regexpression
*/
private Regexpression regexpression;
. . .
@Override public String toString() {
StringBuilder result = new StringBuilder();
result.append(this.tagtype);
return result.toString();
}
}
答案 0 :(得分:1)
我在Grails域类中重写toString()
没有任何问题,所以这不是原因。 This blog表明它可能是名称冲突的结果,或者是暂时的(你试过运行“grails clean”吗?)或者你的类名Tagtype可能会碰到一些grails内部。
你可以尝试的另一件事是使用不同版本的Grails,尤其是最新的1.1.1,如果你还没有使用它。 This ML post描述了一个明显与版本相关的错误消息。