Hibernate配置entity关联关系不生成数据库外键
2021/10/30 19:16:26
本文主要是介绍Hibernate配置entity关联关系不生成数据库外键,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
两种方案
一、使用@org.hibernate.annotations.ForeignKey(name=“none”)
该注解已废弃
二、使用@JoinColumn(name=“frame_id”,foreignKey = @ForeignKey(name=“none”,value= ConstraintMode.NO_CONSTRAINT))
ForeignKey是javax.persistence包下的,该方案有缺陷:
1)oneToMany一方不配置(没有这一属性
2)如果存在oneToMany配置则需要使用方案1中的注解
否则还是会生成外键关系
@OneToMany(fetch = FetchType.LAZY, cascade = CascadeType.ALL) @JoinColumn(name = "taste_group_id", insertable = false, updatable = false) @Fetch(FetchMode.SUBSELECT) @org.hibernate.annotations.ForeignKey(name = "none") @JsonIgnore
@ManyToOne(fetch = FetchType.LAZY, cascade = CascadeType.REFRESH) @JoinColumn(name = "taste_group_id", insertable = false, updatable = false, foreignKey = @ForeignKey(name = "none", value = ConstraintMode.NO_CONSTRAINT)) @NotFound(action = NotFoundAction.IGNORE) @JsonIgnore
这篇关于Hibernate配置entity关联关系不生成数据库外键的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-09-21订单系统资料入门教程:轻松管理你的订单
- 2024-09-21Java部署资料:新手入门教程
- 2024-09-21Java部署资料:新手入门教程
- 2024-09-21Java订单系统资料:新手入门教程与实战指南
- 2024-09-21Java管理系统资料入门教程
- 2024-09-21从零开始学习Java监控系统资料
- 2024-09-21Java就业项目资料:新手入门的必备教程
- 2024-09-21Java全端资料:初学者指南
- 2024-09-21Java全栈资料入门教程及资源汇总
- 2024-09-21Java日志系统资料入门教程