我正在构建一个Grails应用程序(我使用的是2.0.3版本),我想要一个没有“hasMany”的“belongsTo”
我有:
我想要做的是将家长和教师连接到用户,以便他们可以登录系统。我的想法是添加这个:
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)?我真的不希望在用户课程中拥有家长或教师信息,因为用户应该是'干净的“