我正在遵循Spring手册为我的所有子存储库创建一个共享存储库,以在查询中提供更多功能。
然而,我得到的是“没有发现任何属性异常”基本上,我遵循步骤1.3.2,从该链接向所有存储库添加自定义行为http://docs.spring.io/spring-data/data-commons/docs/1.6.1.RELEASE/reference/html/repositories.html
我试图更改名称和回购协议中的所有内容,但运气不好。
这是我的代码:
界面
package com.ang.repository.common;
@NoRepositoryBean
public interface BaseRepositoryCustom<T, ID extends Serializable> extends JpaRepository<T, ID>, QueryDslPredicateExecutor<T>, JpaSpecificationExecutor<T> {
void sharedCustomMethod(ID id);
//Page<T> findAll(String relationship, Pageable paging);
}
实现
package com.ang.repository.common;
public class BaseRepositoryCustomImpl<T, ID extends Serializable>
extends QueryDslJpaRepository<T, ID>
implements BaseRepositoryCustom<T, ID> {
public BaseRepositoryCustomImpl(JpaEntityInformation<T, ID> entityInformation, EntityManager entityManager) {
super(entityInformation, entityManager);
}
public void sharedCustomMethod(ID id) {
// implementation goes here
}
@Override
public Page<T> readPage(TypedQuery<T> query, Pageable pageable, Specification<T> spec) {
return super.readPage(query, pageable, spec);
}
// @Override
// public Page<T> findAll(String relationship, Pageable paging) {
// return null;
// }
}
第一个存储库
package com.ang.repository.core;
@RepositoryRestResource(collectionResourceRel = "alndomain", path = "alndomain")
@CrossOrigin(maxAge = 3600)
@Repository("customAlnDomainRepository")
public interface AlnDomainRepository extends BaseRepositoryCustom<AlnDomain, Long>{
@Query(value="select * from #{#entityName} e where e.alnName = ?1",nativeQuery=true)
List<AlnDomain> findAllByAlnDomain(String alnDomain);
@Query(value="select * from #{#entityName} e where e.alnName = ?1 and e.name = ?2",nativeQuery=true)
AlnDomain findOneByAlnDomainName(String alnDomain,String name);
}
例外:
Caused by: org.springframework.data.mapping.PropertyReferenceException: No property sharedCustomMethod found for type AlnDomain!
我试图从命名约定中删除“自定义”,但没有成功。
溶液
步骤1.3.2(第4节)中的工厂bean设置不正确。调试后,我发现Spring没有将该方法识别为自定义方法。
我在我的主Spring应用程序类中添加了以下注释:
@EnableJpaRepositories(repositoryFactoryBeanClass=com.ang.repository.common.BaseRepositoryFactoryBean.class)
一切正常。
谢谢大家。
溶液
步骤1.3.2(第4节)中的工厂bean没有正确实例化。调试后,我发现Spring没有将该方法识别为自定义方法。Spring的RepositoryFactorySupport没有实例化自定义工厂Bean。
我在我的主Spring应用程序类中添加了以下注释:
@EnableJpaRepositories(repositoryFactoryBeanClass=com.ang.repository.common.BaseRepositoryFactoryBean.class)
一切正常。
谢谢大家。
基本存储库实现的名称应为BaseRepositoryImpl,而不是BaseRepositoryCustomImpl:
public class BaseRepositoryImpl<T, ID extends Serializable>
extends QueryDslJpaRepository<T, ID>
implements BaseRepositoryCustom<T, ID> {
public BaseRepositoryCustomImpl(JpaEntityInformation<T, ID> entityInformation, EntityManager entityManager) {
super(entityInformation, entityManager);
}
public void sharedCustomMethod(ID id) {
// implementation goes here
}
@Override
public Page<T> readPage(TypedQuery<T> query, Pageable pageable, Specification<T> spec) {
return super.readPage(query, pageable, spec);
}
}
我试图实现一个自定义Spring存储库。我有接口: 实施: 和“主”存储库,扩展我的自定义存储库: 我使用的是Spring Boot,根据文档: 默认情况下,Spring Boot将启用JPA存储库支持,并查看@SpringBootApplication所在的包(及其子包)。 当我运行应用程序时,出现以下错误: 组织。springframework。数据映射。PropertyReferenceEx
我有通用的基本存储库定义如下: 我的ICustomRepostory存储库接口定义如下: 现在当我使用基本存储库时: 当我在我的服务类中自动连线 OrdeRepository 时,它给了我编译错误: 引起:org.springframework.beans.factory.BeanCreationExc的:错误创建bean的名称'OrderRepostion'定义abc.example.在@Ena
我是Spring Data JPA的新手。我试图为存储库创建一个自定义方法,但是它确实抛出了一个异常。以下是我目前的实现: 这是我启动应用程序时发生的异常(我正在使用 Spring 启动)。
问题内容: 两个共享库liba.so和libb.so。liba.so使用libb.so。所有c文件都使用-fPIC编译。链接使用- shared。当我们在liba.so上调用dlopen时,它无法在libb.so中找到符号…我们得到“未定义符号”错误。我们可以dlopen libb.so没有错误。我们知道liba正在找到libb,因为我们没有得到文件未找到错误。删除libb.so时,出现文件未找到
您需要创建一个通用的JpaRepository,以便处理系统进行的所有事务。在这里遵循这个示例。 它与实现有点不同,因为我的目标不是执行搜索,而是操作save方法。 unsatisfiedDependencyException:创建名为“sistema menuservice”的bean时出错:通过字段“sistema menurepository”表示未满足的依赖关系;嵌套异常是org.spri