spring-boot - 没有找到类型 With Cassandra Entity 的属性 findAll
问题描述
我的自定义存储库正在扩展 CassandraRepository
public interface CassandraRepository<T, ID> extends CrudRepository<T, ID> {
<S extends T> List<S> saveAll(Iterable<S> var1);
List<T> findAll();
List<T> findAllById(Iterable<ID> var1);
Slice<T> findAll(Pageable var1);
<S extends T> S insert(S var1);
<S extends T> List<S> insert(Iterable<S> var1);
}
我的自定义存储库类是
@Repository
public interface BookManageRepository extends CassandraRepository<BookEntity, BookKey> {
...
}
我正在关注异常
Caused by: org.springframework.beans.factory.BeanCreationException: Error creating bean with
name 'bookManageRepository' defined in com.test.cassandra.repository.BookManageRepository
defined in @EnableReactiveCassandraRepositories declared on
CassandraReactiveRepositoriesRegistrar.EnableReactiveCassandraRepositoriesConfiguration:
Invocation of init method failed; nested exception is org.springframework.data.mapping.PropertyReferenceException: No property findAll found for type BookEntity!
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1796)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:595)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:517)
at org.springframework.beans.factory.support.AbstractBeanFactory.lambda$doGetBean$0(AbstractBeanFactory.java:323)
at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:226)
at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:321)
at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:202)
at org.springframework.beans.factory.config.DependencyDescriptor.resolveCandidate(DependencyDescriptor.java:276)
at org.springframework.beans.factory.support.DefaultListableBeanFactory.doResolveDependency(DefaultListableBeanFactory.java:1306)
at org.springframework.beans.factory.support.DefaultListableBeanFactory.resolveDependency(DefaultListableBeanFactory.java:1226)
at org.springframework.beans.factory.support.ConstructorResolver.resolveAutowiredArgument(ConstructorResolver.java:885)
at org.springframework.beans.factory.support.ConstructorResolver.createArgumentArray(ConstructorResolver.java:789)
获取异常“找不到类型的属性 findAll”,我的实体中没有任何属性findAll
使用 Springboot 2.3
这是我的图书实体
@Table("books")
public class BookEntity {
@PrimaryKey
private BookKey key;
@Column("book_id")
private String BookId;
@Column("book_name")
private String bookName;
@Column("book_type")
private String deviceType;
@Column("created_date")
private LocalDateTime createdDate;
...
}
配置
@Configuration
@EnableCassandraRepositories(basePackages = {"com.test.cassandra.repository"})
public class SpringDataCassandraConfig {
@Bean
public CqlSession session() {
return CqlSession.builder().withKeyspace("mykeyspace").build();
}
解决方案
您必须将注释 @Repository 添加到您的存储库。如果您像这样编写 BookManageRepository,它应该会找到方法“findAll()”。
@Repository
public interface BookManageRepository extends CassandraRepository<BookEntity, BookKey> {
}
推荐阅读
- javascript - 如何映射函数和文本 ReactJs
- reactjs - 如何在 Redux 中制作受控输入组件?
- bower - bash: bower: NVM 找不到命令
- javascript - 合并2个对象在js中包括他们的孩子
- html - 如何根据使用 CSS 对嵌套输入的关注来更改分隔 div 的颜色?
- html - IE 搜索文本功能不适用于从 AJAX 生成的代码
- python - 使用 PIL/Pillow 制作 GIF
- java - 直接在其他 json 对象中获取特定的嵌套 json 对象
- validation - 如何在 Blazor 中实现自定义验证
- kubernetes - 是否有任何 API 或编程逻辑来获取 kubernetes 集群中节点的容量?