2017-10-17 8 views
0

私が持って作成された次のドメインクラスNULL可能制約は、mysqlのテーブルの列には影響しません

class User implements Serializable { 

private static final long serialVersionUID = 1 

String username 
String password 
String mobile 
String email 
boolean enabled = true 
boolean accountExpired 
boolean accountLocked 
boolean passwordExpired 

static belongsTo = [organization : Organization, 
        branch  : Branch, 
        student  : Student] 

Set<Role> getAuthorities() { 
    (UserRole.findAllByUser(this) as List<UserRole>)*.role as Set<Role> 
} 

static constraints = { 
    password blank: false, password: true 
    username blank: false, unique: true 
    organization nullable: true 
    branch nullable: true 
    student nullable: true 
    email nullable: true 
    mobile nullable: true 
} } 

しかし、私は、MySQLでのユーザのテーブルをチェックするとき、それはまだ枝、組織や学生NOTを示していますNULL

関連するドメインにhasOne関連付けを維持しました。例

class Organization { ... static hasOne = [user: User] } 

のために、私は疑う、hasOneのは、その

+0

私はdbを落として再度実行しましたが、同じ効果はありません – Abdul

+1

'belongsTo'から参照を削除しました。 – injecteer

答えて

0

hasOneのは、NOT NULL制約を作成するには影響しません。関連するドメインでhasMany関係を使用する必要があります。

関連する問題