Jquery 多对多普惠制的坚持

Jquery 多对多普惠制的坚持,jquery,grails,many-to-many,gsp,Jquery,Grails,Many To Many,Gsp,我在员工和职位之间有一种多对多的关系。有人能告诉我如何为员工增加职位吗?控制员和GSP联系。我想在创建和更新Emloye GSP时实现这一点。 在employee create.gsp上,我希望有用于输入员工姓名的文本字段,以及包含现有职位的组合框。另外,我想有一个添加位置按钮,它将呈现另一个组合框添加更多的位置。 对我来说,作为一个绝对的乞丐,这不是很明显,也没有太多的例子。 最好有一个具体的例子。这些博客文章和你的问题密切相关 它们都详细介绍了不同的例子,并且非常直截了当地理解。老实说,st

我在员工和职位之间有一种多对多的关系。有人能告诉我如何为员工增加职位吗?控制员和GSP联系。我想在创建和更新Emloye GSP时实现这一点。 在employee create.gsp上,我希望有用于输入员工姓名的文本字段,以及包含现有职位的组合框。另外,我想有一个添加位置按钮,它将呈现另一个组合框添加更多的位置。 对我来说,作为一个绝对的乞丐,这不是很明显,也没有太多的例子。 最好有一个具体的例子。

这些博客文章和你的问题密切相关


它们都详细介绍了不同的例子,并且非常直截了当地理解。

老实说,stackoverflow是用于问答的,而不是“为我做这个”

但是,关于如何映射多对多的问题是有效的,一种非常常见的方法是简单地使用一个包含这两种关系的联接表

可以进行反向工程以适应类的示例是SpringSecurityCore中的UserRole类

class UserRole implements Serializable {

User user
Role role


static UserRole get(long userId, long roleId) {
    find 'from UserRole where user.id=:userId and role.id=:roleId',
        [userId: userId, roleId: roleId]
}

static UserRole create(User user, Role role, boolean flush = false) {
    new UserRole(user: user, role: role).save(flush: flush, insert: true)
}

static boolean remove(User user, Role role, boolean flush = false) {
    UserRole instance = UserRole.findByUserAndRole(user, role)
    if (!instance) {
        return false
    }

    instance.delete(flush: flush)
    true
}

static void removeAll(User user) {
    executeUpdate 'DELETE FROM UserRole WHERE user=:user', [user: user]
}

static void removeAll(Role role) {
    executeUpdate 'DELETE FROM UserRole WHERE role=:role', [role: role]
}

static mapping = {
    id composite: ['role', 'user']
    version false
}
}
删除了一些辅助内容,如哈希代码和克隆等


基本思想是创建一个包含两个类id的联接表。

谢谢。我看到了那些帖子,会玩这些例子,但是这些都是一对多的,我想知道它们是如何处理多对多关系的。