는 소리
class Employee {
String name
static transients = ["bookmarks"]
def getBookmarks() {
Bookmark.findAllByBookmarker(this, [sort: "id", order: "asc"])
}
...
}
class Bookmark implements Serializable {
Employee bookmarker // the employee who bookmark someone
Employee bookmarkee // the employee who is bookmarked
static mapping = {
table "Bookmark"
id composite: ['bookmarker', 'bookmarkee']
bookmarker(column: "BOOKMARKER_ID")
bookmarkee(column: "BOOKMARKEE_ID")
version false
}
static Bookmarker get(long bookmarkerId, long bookmarkeeId) {
find 'from Bookmark where bookmarker.id=:bookmarkerId and bookmarkee.id=:bookmarkeeId',
[bookmarkerId: bookmarkerId, bookmarkeeId: bookmarkeeId]
}
...
}
이 방법은 테이블을 사용 직원 간 관계를 저장하기 위해 "책갈피"를 사용하므로 2 명의 직원이 동일한 직원을 북마크 할 수 있습니다. Bookmark 클래스는 Serializable을 구현해야합니다.
이렇게하면 여러 명의 직원이 같은 직원을 북마크 할 수 있습니까? 즉, 'employeeA'와 'employeeB'는 모두 'employeeC'에 북마크되어 있습니다. –
예 -이 모델은 관련 사용자를 저장하기 위해 조인 테이블을 생성하므로 여러 참조에 대한 제한이 없습니다. –