grails中的字符串ID – 如何完成?
发布时间:2020-12-14 16:26:46 所属栏目:大数据 来源:网络整理
导读:有人能告诉我清楚,完整,100%的工作方式将字符串类型的字段设置为grails中的ID吗?我已阅读文档,然后在网上阅读所有类似的咆哮,但未能创建一个工作原型. 这是我尝试让你相信我不只是懒得等待某人做这项工作的尝试之一))) class User { String login static h
有人能告诉我清楚,完整,100%的工作方式将字符串类型的字段设置为grails中的ID吗?我已阅读文档,然后在网上阅读所有类似的咆哮,但未能创建一个工作原型.
这是我尝试让你相信我不只是懒得等待某人做这项工作的尝试之一))) class User { String login static hasMany = [apps : Application] static constraints = { } static mapping = { id generator: 'assigned',name: "login" } } 解决方法
当您使用自然ID时,您必须使用
findBy方法而不是
get方法,如此测试中所示:
def user = new User(login: "test") assertNotNull user.save(flush: true) user = User.findByLogin("test") assertNotNull user assertEquals "test",user.login 或者,您可以使用单个字段composite id映射: class User implements Serializable { String login static hasMany = [apps: Application] static constraints = { } static mapping = { id composite: ['login'] } } 请注意,实现Serializable需要composite id个域类. composite id的测试将是: def user = new User(login: "test") assertNotNull user.save(flush: true) user = User.get(new User(login: "test")) assertNotNull user assertEquals "test",user.login (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |