当前位置: 首页 > 知识库问答 >
问题:

该类未定义IdClass外键

郤玉书
2023-03-14

我正在使用productid作为电话表中的外键。我不知道在PhoneRepository的id部分写什么。因为给出错误

Product.java

@Entity
@Data
@AllArgsConstructor
@NoArgsConstructor
public class Product {

@Id  @GeneratedValue(strategy = GenerationType.IDENTITY)
private long productID;
...

phone.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

共有1个答案

薛华容
2023-03-14

删除Product上的@IDClass批注,因为您没有自定义id提供程序。

还可以从电话上的产品中删除@id并添加phoneID,如下所示:

@Id
private long phoneID;


@OneToOne
@JoinColumn(name = "productID", referencedColumnName = "productID")
private Product product;
 类似资料:
  • “我想从Hello类获取Hello world的goldUser的用户Id值,但无法获取该值。正在获取@IDClass”未为实体指定标识符:“错误”。“ 我做错了什么,或者应该用什么方法从Hello表中获取用户id的值。

  • “我想从Hello类获取用户Id的值,但无法从Hello world的goldUser获取。获取@Idclass”未为实体指定标识符:“错误。” 我做错了什么,或者应该用什么方法从Hello表中获取用户id的值。

  • My for class是对中条目的引用。Hibernate需要我定义。使用的,定义自己的类对我来说不起作用。 这是我收到的错误: org.springframework.beans.factory.UnsatisfiedDependencyException:在类路径资源[org/springFramework/boot/autoconfiure/web/servlet/WebMvcAutoCo

  • 我正在尝试创建jpa存储库,但外键主键存在问题。虽然它是在抽象基类(

  • 我在Gradle依赖项中包含了Lombok项目,如下所示: 我已经用 但现在我根本无法构建我的项目。我遇到这样的错误: 错误:C:\User\Igor\Workspace\Geofinging_库\my-sdk\src\main\java\com\sdk\MyMonitor.java:93:对于Geofence类型,方法getLatiite()未定义 但我知道getLatitude是由龙目岛在我的

  • 问题内容: 我可以在类定义之外创建,甚至可以在另一个模块中创建吗? 问题答案: 是。您可以在类外部定义函数,然后在类主体中将其用作方法: 您也可以在定义一个函数后将其添加到类中: 您可以根据需要在不同的模块中定义函数和类,但是我建议不要在一个模块中定义该类,然后再将其导入另一个模块中并向其中动态添加方法(如第二个示例),因为那样的话d根据是否已导入另一个模块,其行为与类具有令人惊讶的不同。 我要指