[英]This class does not define an IdClass foreign key
我在電話表中使用 productid 作為外鍵。 我不知道在PhoneRepository 的id 部分寫什么。 因為給出了錯誤
產品.java
@Entity
@Data
@AllArgsConstructor
@NoArgsConstructor
public class Product {
@Id @GeneratedValue(strategy = GenerationType.IDENTITY)
private long productID;
...
電話.java
@Entity
@Data
@AllArgsConstructor
@NoArgsConstructor
@IdClass(Product.class)
public class Phone implements Serializable{
private static final long serialVersionUID = 1L;
@Id
@OneToOne
@JoinColumn(name = "productID")
private Product product;
...
PhoneRepository.java
@Repository
public interface PhoneRepository extends CrudRepository<Phone, Product>{ //I tried Long
}
錯誤
Caused by: java.lang.IllegalArgumentException: This class [class
com.test.project.data.entity.prod.Phone] does not define an IdClass
刪除 Product 上的 @IdClass 注釋,因為您沒有自定義 id 提供程序。
還要從 Phone 上的產品中刪除 @Id 並添加一個 phoneID,如下所示:
@Id
private long phoneID;
@OneToOne
@JoinColumn(name = "productID", referencedColumnName = "productID")
private Product product;
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.