gpt4 book ai didi

java - spring-data-jdbc 错误未找到类所需的标识符属性

转载 作者:太空宇宙 更新时间:2023-11-04 09:26:39 24 4
gpt4 key购买 nike

从数据库加载数据时出现以下错误

java.lang.IllegalStateException: Required identifier property not found for class com.sudhirt.practice.springdatajdbcpractice.entity.AuthorRef!

at org.springframework.data.mapping.PersistentEntity.getRequiredIdProperty(PersistentEntity.java:105)
at org.springframework.data.jdbc.core.EntityRowMapper.readEntityFrom(EntityRowMapper.java:143)
at org.springframework.data.jdbc.core.EntityRowMapper.readFrom(EntityRowMapper.java:124)
at org.springframework.data.jdbc.core.EntityRowMapper.lambda$createInstance$0(EntityRowMapper.java:167)

下面是实体类AuthorRef

@Data
@Table("BOOK_AUTHOR")
@NoArgsConstructor
@AllArgsConstructor
public class AuthorRef {
private Long author;
}

出现上述错误的原因可能是什么?

源代码可在https://github.com/sudhirtumati/spring-data-jdbc-sample获取

最佳答案

您正在聚合根 Book 内的 Set 中引用 AuthorRef

public class Book {

@Id
private Long id;
private String name;

// ...

private Set<AuthorRef> authorRefList;

// ...
}

如果没有 id 列,Spring Data 就无法确定 AuthorRef 的主键。

只需向 author 添加一个 @Id 注释就足够了。

或者,您可以使用 List 来添加一个额外的 book_key 列,该列与 book 列一起形成主键。

关于java - spring-data-jdbc 错误未找到类所需的标识符属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57614107/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com