GORM saveオブジェクトは問題を保存できません

905 ワード

grailsフレームワークを使用している間にsaveオブジェクトはデータベースに更新されず、フレームワークもエラーがなく、datasourceプロファイルに問題があると思っていたが、saveだったオブジェクトが保存されている間に問題が発生し、フィードバックがなかったことが分かった.
 
package hello

class Quote {

	String content
	String author
	Date created = new Date()

    static constraints = {
		//content(nullable:true)
		//author(nullable:true)
    }
}

上記のコードはgrailsフレームワークの起動時にデータベーステーブルを確立し、フィールドのデフォルトはnot nullです.オブジェクトを挿入するとき、オブジェクトに割り当てられた属性がすべて割り当てられていないと、ひっそりとデータが挿入されません(または挿入が無効です).
したがって、domainオブジェクトを作成するたびに必ず制約(nullable:true)を追加し、オブジェクトを挿入するときにデータベースに完全に挿入できるようにします.
grailsは、どのフィールドが制約されてデータベースを挿入できないかをアクティブに説明しませんが、挿入できない問題をコードで説明できます.
 
package hello

class QuoteController {

    def index() { 
		def q = new Quote(content:'aaa')
		if(!q.save()){
			q.errors.allErrors.each{
				println it
			}
		}

		render "ok"
	}
}