Grails Java Domain Class中的toString()

时间:2009-06-22 20:31:42

标签: grails

默认情况下,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();
  }

}

1 个答案:

答案 0 :(得分:1)

我在Grails域类中重写toString()没有任何问题,所以这不是原因。 This blog表明它可能是名称冲突的结果,或者是暂时的(你试过运行“grails clean”吗?)或者你的类名Tagtype可能会碰到一些grails内部。

你可以尝试的另一件事是使用不同版本的Grails,尤其是最新的1.1.1,如果你还没有使用它。 This ML post描述了一个明显与版本相关的错误消息。