이것은 다 대 다 관계가있는 첫 번째 프로젝트이며 ORM의 일부 grails 자료를 읽은 후에 Grails가 테이블 생성과 같은 작업을 수행하도록 결정했습니다. 사실, 내 거래였다many-to-many와 매핑 문제
- 한 사용자가 많은 그룹 을 가지고
- 1 그룹은 사용자에 속하고 여기에
내 클래스입니다 (소유자 제외) 많은 사용자를 가지고 :
class User {
String name
List groups
static hasMany = [groups : Group]
static mapping = {
table 'users'
version false
}
}
class Group {
String name
List members
static belongsTo = User
static hasMany = [members : User]
static mapping = {
table 'groups'
version false
}
}
그 후, 내가 grails에서 얻은 것은 3 개의 테이블이었습니다. 사용자 테이블은 괜찮 았지만 다음 2는 내가 예상 한 것이 아니 었습니다. 내가 잘못을했다면 내가 모르거나 내가 어떻게 해결할 수를하지만, 어쨌든 ... 난 아직이야
table **groups** | id | name | user_id
table **users_groups** | group_id | members_idx | groups_idx
:
table **groups** | id | name
table **users_groups** | group_id | user_id | members_idx | groups_idx
글쎄, 내가 원하는 것은 이런 일이었다 시도 할 때 또 다른 문제가 발생했습니다. user.addToGroups (새 그룹()). 내 users_groups 테이블은이 등록 정보를 하나씩 member_idx null로 복사하고 다른 등록 정보는 groups_idx null로 복제합니다.
그 일을 시도했지만 예외가 발생합니다. 도메인 클래스 [class User]와 [class Group] 사이에 many-to-many 관계로 정의 된 소유자가 없습니다. 예 : static belongsTo = Group – mateusmaso
죄송합니다, 바보 같은 제안입니다. 1-many는 의미가 있지만 many-many는 의미가 없습니다 –