我的 spring boot 项目使用现有数据库,我的项目中有一个新的模型实体/表,它必须与数据库中的现有表具有外键约束。
我尝试在网上找到解决方案,但所有答案都是针对两个表都作为该项目中的实体存在并使用一些 @ManyToOne、@OneToMany 注释的情况。
我无法定义这些注释,因为我的项目中没有引用表作为实体或模型。
假设我有这样的类(class):
@Entity(name = "user")
public class User {
@Id
@GeneratedValue
private long userId;
private long departmentId;
我想在 departmentId
列上放置一个外键约束,以引用现有 department
表的 id
列,但该表不是定义为我的项目中的模型或实体。
谢谢
最佳答案
试试这样
@ManyToOne
@JoinColumn(name="(column name of current entity)", referencedColumnName="(column name in target entity)")
private Department departmentId;
如果两个实体中的列名称相同,您可以跳过引用的列名称
关于spring-boot - 如何使用Spring data JPA与数据库中的非实体表建立外键关系?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58688810/