在Grails中有一个'belongsTo'而没有'hasMany'

时间:2016-02-16 13:25:06

标签: grails gorm has-many belongs-to

我正在构建一个Grails应用程序(我使用的是2.0.3版本),我想要一个没有“hasMany”的“belongsTo”

我有:

  • 一个名为用户的域类,用于保存用户信息并用于登录系统
  • (一个名为角色的域类,在系统中持有不同的角色)
  • 名为 Parent
  • 的域类
  • 名为教师
  • 的域类

我想要做的是将家长教师连接到用户,以便他们可以登录系统。我的想法是添加这个:

class User{
    String username 
    String password
    String firstName
    String lastName
}

Class Parent{
    static belongsTo = [user:User]
    String favoriteColor
}


Class Teacher{
    static belongsTo = [user:User]
    String favoriteBook
}

因此,您可以看到用户没有关于家长教师

的任何信息

在数据库中,教师作为对用户(user_id)的引用,这看起来不错。

当我尝试删除教师时(例如),会出现问题。该行将在该表中删除,但用户表中仍有一行。

如果我,另一方面,尝试删除用户,我得到:

com.mysql.jdbc.exceptions.jdbc4.MySQLIntegrityConstraintViolationException: Cannot delete or update a parent row: a foreign key constraint fails

我做错了什么?这是一个糟糕的设计(belongsTo没有hasMany)?我真的不希望在用户课程中拥有家长教师信息,因为用户应该是'干净的“

0 个答案:

没有答案