1. 之前看阿里开发手册,其中有一项——**不得使用外键与级联,一切外键概念必须在应用层解决**。
于是新开一个项目想用这种方式去设计数据库。
2. 个人喜欢用jpa开发,能自动创建表的功能用起来很爽,但是只要配置一对多,多对多查询代码就会默认创建外键。
打印的语句
数据库中
// An highlighted block
spring.jpa.hibernate.ddl-auto=none
// An highlighted block@ManyToOne@JoinColumn(name = "tid",foreignKey = @ForeignKey(name = "none",value = ConstraintMode.NO_CONSTRAINT))private Teacher teacher;
第二种方案大部分没问题,但是还有一种情况就是存在mappedBy的情况
代码如下:
/*** 上级权限*/@ManyToOne(fetch = FetchType.LAZY)@JoinColumn(name = "parent_id", referencedColumnName = "id",foreignKey = @ForeignKey(value = ConstraintMode.NO_CONSTRAINT))@JsonIgnoreprivate AuthDO parent;/*** 子权限*/@OneToMany(mappedBy = "parent",fetch = FetchType.LAZY)@OrderBy("authSort asc")@org.hibernate.annotations.ForeignKey(name = "none")private List<AuthDO> children;
结束,有更好方法的朋友请回复告知下。谢谢。
本文发布于:2024-01-30 22:13:22,感谢您对本站的认可!
本文链接:https://www.4u4v.net/it/170662400623195.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
留言与评论(共有 0 条评论) |