Springboot,JPA和Ignite

时间:2017-12-21 09:30:13

标签: jpa spring-boot spring-data ignite

引起:org.springframework.data.mapping.PropertyReferenceException:找不到类型为Person的属性保存!

实体:

   @Entity

public class Person  implements Serializable {

     /**
     * 
     */
    private static final long serialVersionUID = 1L;

    @Id
    @GeneratedValue
     @QuerySqlField(index = true)
     public Long id;


    public Long getId() {
        return id;
    }

    public void setId(Long id) {
        this.id = id;
    }

}

存储库

@Component
@RepositoryConfig(cacheName = "PersonCache")
@Repository
public interface PersonRepository extends IgniteRepository<Person, Long> {
     @Override
        List<Person> findAll();

        @Override
        Person findOne(Long id);

}

点燃配置:

 @Bean
    public Ignite igniteInstance() {
        IgniteConfiguration cfg = new IgniteConfiguration();

        // Setting some custom name for the node.
        cfg.setIgniteInstanceName("springDataNode");

        // Enabling peer-class loading feature.
        cfg.setPeerClassLoadingEnabled(true);

        // Defining and creating a new cache to be used by Ignite Spring Data repository.
        CacheConfiguration ccfg = new CacheConfiguration("PersonCache");

        // Setting SQL schema for the cache.
        ccfg.setIndexedTypes(Long.class, Person.class);


        cfg.setCacheConfiguration(ccfg);

        return Ignition.start(cfg);
    }

堆栈追踪:

  

引起:   org.springframework.data.mapping.PropertyReferenceException:没有   找到属性类型的属性保存!在   org.springframework.data.mapping.PropertyPath。(PropertyPath.java:77)   〜[spring-data-commons-1.13.1.RELEASE.jar:na] at   org.springframework.data.mapping.PropertyPath.create(PropertyPath.java:329)   〜[spring-data-commons-1.13.1.RELEASE.jar:na] at   org.springframework.data.mapping.PropertyPath.create(PropertyPath.java:309)   〜[spring-data-commons-1.13.1.RELEASE.jar:na] at   org.springframework.data.mapping.PropertyPath.from(PropertyPath.java:272)   〜[spring-data-commons-1.13.1.RELEASE.jar:na] at   org.springframework.data.mapping.PropertyPath.from(PropertyPath.java:243)   〜[spring-data-commons-1.13.1.RELEASE.jar:na] at   org.springframework.data.repository.query.parser.Part。(Part.java:76)   〜[spring-data-commons-1.13.1.RELEASE.jar:na] at   org.springframework.data.repository.query.parser.PartTree $ OrPart。(PartTree.java:247)   〜[spring-data-commons-1.13.1.RELEASE.jar:na] at   org.springframework.data.repository.query.parser.PartTree $ Predicate.buildTree(PartTree.java:398)   〜[spring-data-commons-1.13.1.RELEASE.jar:na] at   org.springframework.data.repository.query.parser.PartTree $谓词(PartTree.java:378)   〜[spring-data-commons-1.13.1.RELEASE.jar:na] at   org.springframework.data.repository.query.parser.PartTree。(PartTree.java:86)   〜[spring-data-commons-1.13.1.RELEASE.jar:na] at   org.springframework.data.jpa.repository.query.PartTreeJpaQuery。(PartTreeJpaQuery.java:64)   〜[spring-data-jpa-1.11.3.RELEASE.jar:na] at   org.springframework.data.jpa.repository.query.JpaQueryLookupStrategy $ CreateQueryLookupStrategy.resolveQuery(JpaQueryLookupStrategy.java:103)   〜[spring-data-jpa-1.11.3.RELEASE.jar:na] at   org.springframework.data.jpa.repository.query.JpaQueryLookupStrategy $ CreateIfNotFoundQueryLookupStrategy.resolveQuery(JpaQueryLookupStrategy.java:214)   〜[spring-data-jpa-1.11.3.RELEASE.jar:na] at   org.springframework.data.jpa.repository.query.JpaQueryLookupStrategy $ AbstractQueryLookupStrategy.resolveQuery(JpaQueryLookupStrategy.java:77)   〜[spring-data-jpa-1.11.3.RELEASE.jar:na] at   org.springframework.data.repository.core.support.RepositoryFactorySupport $ QueryExecutorMethodInterceptor。(RepositoryFactorySupport.java:436)   〜[spring-data-commons-1.13.1.RELEASE.jar:na] at   org.springframework.data.repository.core.support.RepositoryFactorySupport.getRepository(RepositoryFactorySupport.java:221)   〜[spring-data-commons-1.13.1.RELEASE.jar:na] at   org.springframework.data.repository.core.support.RepositoryFactoryBeanSupport.initAndReturn(RepositoryFactoryBeanSupport.java:277)   〜[spring-data-commons-1.13.1.RELEASE.jar:na] at   org.springframework.data.repository.core.support.RepositoryFactoryBeanSupport.afterPropertiesSet(RepositoryFactoryBeanSupport.java:263)   〜[spring-data-commons-1.13.1.RELEASE.jar:na] at   org.springframework.data.jpa.repository.support.JpaRepositoryFactoryBean.afterPropertiesSet(JpaRepositoryFactoryBean.java:101)   〜[spring-data-jpa-1.11.3.RELEASE.jar:na] at   org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.invokeInitMethods(AbstractAutowireCapableBeanFactory.java:1687)   〜[spring-beans-4.3.8.RELEASE.jar:4.3.8.RELEASE] at   org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1624)   〜[spring-beans-4.3.8.RELEASE.jar:4.3.8.RELEASE] ... 16个常见帧   省略

1 个答案:

答案 0 :(得分:1)

您似乎正在尝试使用IgniteRepository来处理JPA实体。

我认为不可能将这两者结合起来。 Spring JPA会对IgniteRepository自定义方法产生阻塞,试图将它们转换为SQL,即使它没有,它仍然无效。

IgniteRepository不是为JPA而设计的。