我在员工和职位之间有多对多的关系。有人能告诉我如何实施给员工增加职位吗?控制器和GSP。我想在创建和更新emloyee GSP时实现此目的。 关于员工create.gsp我想要有用于输入员工姓名的文本框,以及与现有职位相结合的组合框。另外我想要添加位置按钮,它将渲染另一个组合框以添加更多位置。 对于我来说,作为一个绝对的先行者,这并不是那么明显,关于这一点的例子并不多。 这将是一个具体的例子。多对多GSP持久性
0
A
回答
0
老实说,stackoverflow是为q & a,而不是“让我为此”。
你的问题关于如何映射多对多是有效的,但一个非常常见的方法是简单地拥有一个拥有两个关系的连接表。
您可以通过逆向工程来适合您的类,例如spring-security-core的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连接表。
0
这些博客文章one-to-many-relationships-in-grails-forms和grails-one-to-many-dynamic-forms与您的问题密切相关。
他们都详细说明不同的例子,并且非常直接了解。
+0
谢谢。我看到了这些帖子,并将与这些例子一起玩,但这些考虑的是一对多,我想知道如何与多对多关系的东西工作。 – drago
相关问题
- 1. 多对多持久性
- 2. Grails - 多对多数据持久性(EDITED)
- 3. 持久性多路连接配对
- 4. JPA一对多关系持久性Bug
- 5. Django模型 - 多对多持久订单
- 6. 多对多持久红宝石mongoid
- 7. JPA多持久性持久性单元和JTA事务
- 8. Java持久性与自我的多对多关系
- 9. Hibernate多对多映射持久性异常
- 10. Javax持久性多对多集合EclipseLink JPA 2.1
- 11. '多对一'属性类型不应该是'持久性实体'
- 12. Cometd:clientId持续多久?
- 13. event.preventDefault()持续多久?
- 14. 在春天多个持久性文件
- 15. 使用多线程的JPA持久性
- 16. persistence.xml为多个持久性单元
- 17. 多个请求的服务持久性
- 18. 多语言持久性示例
- 19. 针对jQuery 1.4.3的vsdoc支持:多久?
- 20. Symfony2 Mongodb多次持久化对象
- 21. java hibernate多持久化对象?
- 22. JPA中的可选持久性单元(使用多个持久性单元时)
- 23. 一个持久性卷可以由多个持久性卷声明使用吗?
- 24. JPA - 传递给持久对象的分离实体多对多
- 25. Mongoid持久性的问题有1一对多的关联
- 26. JPA多对一持久性问题取数据
- 27. 一对多的休眠持久性很慢
- 28. Python对象持久性
- 29. 什么是持久性饼干?它们存在多久?
- 30. 持久性Yesod中执行多对多的最佳方式是什么?
这篇文章在这里给出了更详细的解决方案:http://grails.org/Many-to-Many+Mapping+without+Hibernate+XML –