gpt4 book ai didi

grails - 我应该在 Grails 中使用复合主键吗?

转载 作者:行者123 更新时间:2023-12-02 13:49:11 25 4
gpt4 key购买 nike

Grails docs不鼓励使用复合主键,但在 this video (26:00 - 29:00) @BurtBeckwith使用复合主键,因为他谈到将连接表映射到域类而不是使用集合的性能优势。这提出了几个问题:

  1. 为什么 Grails 文档不鼓励使用复合主键?
  2. 为什么伯特甚至使用复合键?我试过没有一个,一切似乎都很好。我也没有覆盖 hashcodeequals
  3. 制作该视频时,Burt 使用的是 Grails 1.3,他对集合性能的担忧是否仍然有效?我可以通过打开 SQL 日志记录自己对此进行测试,但我还没有这样做。

最佳答案

Hibernate 更喜欢简单的主键,即使有一个自然的唯一键(例如用户表中的用户名),因为自动递增的长值更易于用作外键。它当然支持其他方法,GORM 也是如此。

我在 UserRole 表中使用复合 PK 的原因是为了使其与在 GORM 中使用多对多时得到的隐式创建的连接表保持一致。我提出的方法旨在就数据库而言是相同的,但性能更高,并且您还可以更好地控制自定义连接表。但是可以随意将复合 PK 更改为简单的两个外键(最好使用唯一索引)并添加一个常规的单列主键。只要您不打算将其用作 GORM 多对多连接表,就可以了。

关于grails - 我应该在 Grails 中使用复合主键吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17932637/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com