0

在为域类生成控制器和视图时:

class Book {

    static constraints = {
        bookId blank:false
        bookTitle blank:false
    }

    private int bookId
    private String bookTitle
    private String author
    private double price
    private Date edition
    private String publisher
}

给出错误说:无法将 int 字段 lms.Book.bookId 设置为 java.lang.Class

4

2 回答 2

1

我认为如果您在字段声明中添加“私有”,您必须为该字段编写 getter 和 setter:

class Book {

    static constraints = {
        bookId blank:false
        bookTitle blank:false
    }

    private Integer bookId
...
    Integer getBookId() { this.bookId }

    void setBookId(Integer bookId) { this.bookId = bookId }
....
}
于 2012-06-27T07:32:04.833 回答
1

将“int”更改为“Integer”(也将“double”更改为“Double”),例如

class Book {

    static constraints = {
        bookId blank:false
        bookTitle blank:false
    }

    private Integer bookId
    private String bookTitle
    private String author
    private Double price
    private Date edition
    private String publisher
}

另外,我怀疑您是否可以对整数设置“空白”约束,将其更改为:

bookId nullable: false

假设这是您想要的(或完全删除它,因为 nullable: false 约束是隐式的)。

于 2012-06-27T05:20:20.943 回答