Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/jpa/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Spring boot 如何使用SpringDataJPA与数据库中的非实体表建立外键关系?_Spring Boot_Jpa_Spring Data Jpa_Foreign Keys - Fatal编程技术网

Spring boot 如何使用SpringDataJPA与数据库中的非实体表建立外键关系?

Spring boot 如何使用SpringDataJPA与数据库中的非实体表建立外键关系?,spring-boot,jpa,spring-data-jpa,foreign-keys,Spring Boot,Jpa,Spring Data Jpa,Foreign Keys,我的spring boot项目使用现有数据库,我的项目中有一个新的模型实体/表,该实体/表必须与数据库中的现有表具有外键约束 我试图在线找到解决方案,但所有答案都是针对这样的情况,即两个表都作为实体存在于该项目中,并且使用了一些@manytone、@OneToMany注释 我无法定义这些注释,因为我的项目中没有引用表作为实体或模型 假设我有这样的课程: @Entity(name = "user") public class User { @Id @GeneratedValue

我的spring boot项目使用现有数据库,我的项目中有一个新的模型实体/表,该实体/表必须与数据库中的现有表具有外键约束

我试图在线找到解决方案,但所有答案都是针对这样的情况,即两个表都作为实体存在于该项目中,并且使用了一些@manytone、@OneToMany注释

我无法定义这些注释,因为我的项目中没有引用表作为实体或模型

假设我有这样的课程:

@Entity(name = "user")
public class User {
    @Id
    @GeneratedValue
    private long userId;
    private long departmentId;
我想在departmentId列上放置一个外键约束,以引用现有department表的id列,该表在我的项目中未定义为模型或实体

谢谢

像平常一样做就行了 范例

@Column(name = "department_id")
private Department departmentId;
您可以稍后访问it Department.departmentId。希望这有帮助。

像平常一样做就行了 范例

@Column(name = "department_id")
private Department departmentId;
您可以稍后访问it Department.departmentId。希望这有帮助。

像这样试试

@ManyToOne
@JoinColumn(name="(column name of current entity)", referencedColumnName="(column name in target entity)")
private Department departmentId;
如果两个实体中的列名相同,可以跳过referencedColumnName

@ManyToOne
@JoinColumn(name="(column name of current entity)", referencedColumnName="(column name in target entity)")
private Department departmentId;

如果两个实体中的列名相同,则可以跳过referencedColumnName

谢谢回答,因此我需要一个具有department表架构的department实体类?谢谢回答,所以我需要一个department实体类和department表的模式?是的,你需要目标表的实体,否则你不能映射整个实体。另一个解决方法是使用@Formula,是的,您需要目标表的实体,否则无法映射整个实体。另一个解决方法是使用@Formula