簡體   English   中英

此 class 未定義 IdClass 外鍵

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM