为了账号安全,请及时绑定邮箱和手机立即绑定

为什么我们使用@ForeignKey(name=“FK_COUNTRY”)注释?

为什么我们使用@ForeignKey(name=“FK_COUNTRY”)注释?

侃侃尔雅 2022-08-17 15:29:28
我一直在休眠状态下经历一些关系的东西,我得到了这个解决方案,用于表之间的关系,我尝试了这个,它工作正常,但是当我删除@ForeignKey(name=“FK_COUNTRY”)没有任何变化,那么为什么我们使用此注释是最佳实践?@Entity    @Table(name = "state")    public class State {        @Id        @Column(name = "id")        private int id;        @Column(name = "name")        private String name;        @ManyToOne        @ForeignKey(name="FK_COUNTRY")        private Country country;    }
查看完整描述

2 回答

?
肥皂起泡泡

TA贡献1829条经验 获得超6个赞

休眠应该反映数据库结构,你应该阅读关于外键的重要性

  1. 参照完整性

  2. 更轻松的侦探工作

  3. 更好的性能


查看完整回答
反对 回复 2022-08-17
?
郎朗坤

TA贡献1921条经验 获得超9个赞

如果你阅读@ForeignKey的javadoc,你会发现:

用于指定在架构生成生效时外键约束的处理。如果未指定此批注,则将使用持久性提供程序的默认外键策略。

如果不从类定义生成数据库架构(例如 SQL 语句),则注解不起作用。CREATE TABLE


查看完整回答
反对 回复 2022-08-17
  • 2 回答
  • 0 关注
  • 148 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信