Groovy Grails Ассоциация «Многие ко многим», создающая 2 таблицы соединений - PullRequest
0 голосов
/ 26 октября 2011

Итак, у меня есть 2 класса, которые имеют много-много ассоциаций.Когда база данных генерируется, я получаю 2 таблицы соединения: user_link_sections и link_section_users.Первое, что я ожидал, но не уверен, почему была создана вторая таблица соединений.Grails использует только первое.Я новичок в Groovy / Grails, но попытался следовать документации, чтобы настроить это правильно.Любая помощь приветствуется!

Вот мои объявления класса домена ...

class User {

    transient springSecurityService

    // Custom Attributes
    String firstName
    String lastName
    String email
    String company
    String phone
    Date dateCreated
    Date lastUpdated

    static hasMany = [linkSections: LinkSection]

    String username
    String password
    boolean enabled
    boolean accountExpired
    boolean accountLocked
    boolean passwordExpired
}

и

class LinkSection {

    String name
    String description
    Date dateCreated
    Date lastUpdated

    List links = new ArrayList()

    static belongsTo = User
    static hasMany = [links: Link, users: User]

    static constraints = {
    name blank: false
    description(maxSize: 10000)
    }

    static mapping = {
    links cascade: "all,delete-orphan"
    }
}

1 Ответ

2 голосов
/ 27 октября 2011

Попробуйте установить сторону владения многими-многими:

static belongsTo = User

это идет на LinkSection.Помните, что только одна сторона знает, чтобы сохранить отношения.

Другая вещь, которую нужно сделать, - это убедиться и очистить таблицы, которые могли быть оставлены после ваших предыдущих попыток картирования ... просто чтобы быть уверенным.

...