【发布时间】:2020-03-28 11:30:04
【问题描述】:
我在另一个实体类中引用一个实体并收到此错误。下面是示例代码。我在persistence.xml 中也有这些类。
是什么导致了这个问题?我正在使用 Spring 数据 JPA 和 Hibernate。
import javax.persistence.*;
@Entity
@Table(name = "users", schema = "university")
public class UsersEntity {
private long id;
@JoinColumn(name = "address_id", nullable = false)
private Address address;
@Id
@Column(name = "id")
public long getId() {
return id;
}
public void setId(long id) {
this.id = id;
}
public Address getAddress() {
return address;
}
public void setAddress(Address address) {
this.address = address;
}
}
import javax.persistence.*;
@Entity
@Table(name = "address", schema = "university")
public class AddressEntity {
private long id;
private String street;
@Id
@Column(name = "id")
public long getId() {
return id;
}
public void setId(long id) {
this.id = id;
}
@Basic
@Column(name = "street")
public String getStreet() {
return street;
}
public void setStreet(String street) {
this.street = street;
}
}
【问题讨论】:
-
1.您正在混合字段和属性级别的注释 - 使用 on 或其他。 2.你有一个实体
ServiceTypeEntity,但UsersEntity有一个Address的引用 -
@AlanHay 这是帖子中的错误。我用正确的类名更新了它。那么,我应该使用哪个注释来解决这个问题?
-
是的,地址是从用户实体引用的。在后端有两个数据库表。用户和地址。用户有一个外键 address_id,它是 Address 表中的 id。
标签: java spring-boot spring-data-jpa