0
Q
GORM關係映射
A
回答
1
您可以創建用戶和服務器之間的N×N的關係。但是,有必要爲這種關係創建一個類。這是必要的,因爲您需要屬性配額。在NxN關係的標準方式中,Grails(Hibernate)不會爲它創建一個類。
你需要三類:
用戶,服務器,UserServer的
Class UserServer {
int quota
static belongsTo = [user:User, server:Server]
static constraints = {user unique: 'server'}
}
唯一性約束是非常重要的,因爲正如你所說的,用戶可以爲每個只有一個入口服務器。
關聯和取消關聯用戶和服務器,你可以使用以下方法:
Class UserServer {
int quota
static belongsTo = [user:User, server:Server]
static constraints = {user unique: 'server'}
static PackScheme link(User user, Server server) {
UserServer userServer = UserServer.findByUserAndServer(user, server)
if (!userServer) {
userServer = new UserServer()
user.addToUserServers(userServer)
server.addToUserServers(userServer)
userServer.save()
}
return userServer
}
static void unlink(User user, Server server) {
UserServer userServer = UserServer.findByUserAndServer(user, server)
if (userServer) {
user.removeFromUserServers(userServer)
server.removeFromUserServers(userServer)
userServer.delete()
}
}
}
請注意,您需要創建在用戶和服務器稱爲一個的UserServer關係的hasMany:UserServer的。
此解決方案基於此鏈接:http://grails.org/Many-to-Many+Mapping+without+Hibernate+XML
相關問題
- 1. sqlalchemy關係映射
- 2. Restkit映射關係
- 3. GORM關係映射
- 4. 關係映射Restkit
- 5. 映射關係 - 外鍵或映射表
- 6. 對象/關係映射
- 7. Hibernate的Mysql映射關係
- 8. 1:m關係映射
- 9. JPA關係映射概念
- 10. 映射一對多關係
- 11. 休眠@OneToMany關係映射
- 12. Restkit OM2關係映射
- 13. 傑克遜映射關係
- 14. Restkit映射依賴關係
- 15. JPA Java映射關係
- 16. JPA問題映射關係
- 17. MagicalRecords importValuesForKeysWithObject映射關係
- 18. NHibernate映射多個關係
- 19. 動態映射manyToOne關係
- 20. 對象關係映射
- 21. ColdFusion 9 ORM關係映射
- 22. 模型和映射關係
- 23. 映射JPA實體關係
- 24. 合金映射關係
- 25. Nhibernate關係表映射
- 26. 上下文映射關係
- 27. Symfony2/Doctrine關係映射
- 28. JPA映射:多重關係
- 29. Spring框架關係映射
- 30. 關係對象映射c#
問題是? – Alidad
badum-tsss ... :) –