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

フィールド宣言に「private」を追加する場合、このフィールドのゲッターとセッターを作成する必要があると思います。

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 に答える