Springboot,JPA和Ignite [英] Springboot, JPA and Ignite
问题描述
由以下原因引起:org.springframework.data.mapping.PropertyReferenceException:未找到类型为Person的属性!
Caused by: org.springframework.data.mapping.PropertyReferenceException: No property save found for type 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:否 找到类型为Person的属性保存!在 org.springframework.data.mapping.PropertyPath.(PropertyPath.java:77) 〜[spring-data-commons-1.13.1.RELEASE.jar:na]在 org.springframework.data.mapping.PropertyPath.create(PropertyPath.java:329) 〜[spring-data-commons-1.13.1.RELEASE.jar:na]在 org.springframework.data.mapping.PropertyPath.create(PropertyPath.java:309) 〜[spring-data-commons-1.13.1.RELEASE.jar:na]在 org.springframework.data.mapping.PropertyPath.from(PropertyPath.java:272) 〜[spring-data-commons-1.13.1.RELEASE.jar:na]在 org.springframework.data.mapping.PropertyPath.from(PropertyPath.java:243) 〜[spring-data-commons-1.13.1.RELEASE.jar:na]在 org.springframework.data.repository.query.parser.Part.(Part.java:76) 〜[spring-data-commons-1.13.1.RELEASE.jar:na]在 org.springframework.data.repository.query.parser.PartTree $ OrPart.(PartTree.java:247) 〜[spring-data-commons-1.13.1.RELEASE.jar:na]在 org.springframework.data.repository.query.parser.PartTree $ Predicate.buildTree(PartTree.java:398) 〜[spring-data-commons-1.13.1.RELEASE.jar:na]在 org.springframework.data.repository.query.parser.PartTree $ Predicate.(PartTree.java:378) 〜[spring-data-commons-1.13.1.RELEASE.jar:na]在 org.springframework.data.repository.query.parser.PartTree.(PartTree.java:86) 〜[spring-data-commons-1.13.1.RELEASE.jar:na]在 org.springframework.data.jpa.repository.query.PartTreeJpaQuery.(PartTreeJpaQuery.java:64) 〜[spring-data-jpa-1.11.3.RELEASE.jar:na]在 org.springframework.data.jpa.repository.query.JpaQueryLookupStrategy $ CreateQueryLookupStrategy.resolveQuery(JpaQueryLookupStrategy.java:103) 〜[spring-data-jpa-1.11.3.RELEASE.jar:na]在 org.springframework.data.jpa.repository.query.JpaQueryLookupStrategy $ CreateIfNotFoundQueryLookupStrategy.resolveQuery(JpaQueryLookupStrategy.java:214) 〜[spring-data-jpa-1.11.3.RELEASE.jar:na]在 org.springframework.data.jpa.repository.query.JpaQueryLookupStrategy $ AbstractQueryLookupStrategy.resolveQuery(JpaQueryLookupStrategy.java:77) 〜[spring-data-jpa-1.11.3.RELEASE.jar:na]在 org.springframework.data.repository.core.support.RepositoryFactorySupport $ QueryExecutorMethodInterceptor.(RepositoryFactorySupport.java:436) 〜[spring-data-commons-1.13.1.RELEASE.jar:na]在 org.springframework.data.repository.core.support.RepositoryFactorySupport.getRepository(RepositoryFactorySupport.java:221) 〜[spring-data-commons-1.13.1.RELEASE.jar:na]在 org.springframework.data.repository.core.support.RepositoryFactoryBeanSupport.initAndReturn(RepositoryFactoryBeanSupport.java:277) 〜[spring-data-commons-1.13.1.RELEASE.jar:na]在 org.springframework.data.repository.core.support.RepositoryFactoryBeanSupport.afterPropertiesSet(RepositoryFactoryBeanSupport.java:263) 〜[spring-data-commons-1.13.1.RELEASE.jar:na]在 org.springframework.data.jpa.repository.support.JpaRepositoryFactoryBean.afterPropertiesSet(JpaRepositoryFactoryBean.java:101) 〜[spring-data-jpa-1.11.3.RELEASE.jar:na]在 org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.invokeInitMethods(AbstractAutowireCapableBeanFactory.java:1687) 〜[spring-beans-4.3.8.RELEASE.jar:4.3.8.RELEASE]在 org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1624) 〜[spring-beans-4.3.8.RELEASE.jar:4.3.8.RELEASE] ... 16个常见框架 省略
Caused by: org.springframework.data.mapping.PropertyReferenceException: No property save found for type Person! at 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$Predicate.(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 common frames omitted
推荐答案
似乎您正在尝试使用IgniteRepository处理JPA实体.
It seems that you are trying to use IgniteRepository to work with a JPA entity.
我认为不可能将这两个结婚. Spring JPA在尝试将IgniteRepository自定义方法转换为SQL时感到窒息,即使不这样做,仍然无法正常工作.
I don't think that it's possible to marry these two. Spring JPA chokes on IgniteRepository custom methods trying to convert them into SQL, and even if it didn't it would still not work.
IgniteRepository并不是为JPA设计的.
IgniteRepository was just not designed for JPA.
这篇关于Springboot,JPA和Ignite的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!