JPA存储库工作不正常

JPA存储库工作不正常,jpa,jpa-2.0,openjpa,spring-data-jpa,jpa-2.1,Jpa,Jpa 2.0,Openjpa,Spring Data Jpa,Jpa 2.1,我是新开JPA的,我正在将我的应用程序数据库服务从以Hibernate作为供应商提供者的JPA迁移到以OpenJPA作为供应商提供者的JPA。一切正常,但我无法迁移存储库。我得到以下错误: Caused by: org.springframework.data.mapping.PropertyReferenceException: No property find found for type com.entities.LevelPossibilityData at org.spring

我是新开JPA的,我正在将我的应用程序数据库服务从以Hibernate作为供应商提供者的JPA迁移到以OpenJPA作为供应商提供者的JPA。一切正常,但我无法迁移存储库。我得到以下错误:

Caused by: org.springframework.data.mapping.PropertyReferenceException: No property find found for
type com.entities.LevelPossibilityData
    at org.springframework.data.mapping.PropertyPath.<init>(PropertyPath.java:75)
    at org.springframework.data.mapping.PropertyPath.create(PropertyPath.java:327)
    at org.springframework.data.mapping.PropertyPath.create(PropertyPath.java:353)
    at org.springframework.data.mapping.PropertyPath.create(PropertyPath.java:353)
    at org.springframework.data.mapping.PropertyPath.create(PropertyPath.java:353)
    at org.springframework.data.mapping.PropertyPath.create(PropertyPath.java:353)
    at org.springframework.data.mapping.PropertyPath.create(PropertyPath.java:307)
    at org.springframework.data.mapping.PropertyPath.from(PropertyPath.java:271)
    at org.springframework.data.mapping.PropertyPath.from(PropertyPath.java:245)
    at org.springframework.data.repository.query.parser.Part.<init>(Part.java:72)
和我的存储库:

package com.dao;

import java.io.Serializable;
import java.util.List;

import org.springframework.data.jpa.repository.JpaRepository;

import com.entities.LevelPossibilityData;

public interface LevelPossibilityDataRepository<ID extends Serializable> extends JpaRepository<LevelPossibilityData, Serializable> {

public List<LevelPossibilityData> findAllPossibilityGenIds(String possibilityType); 

}
package com.dao;
导入java.io.Serializable;
导入java.util.List;
导入org.springframework.data.jpa.repository.JpaRepository;
导入com.entities.LevelPossibilityData;
公共接口级别的可能性数据存储库扩展了JpaRepository{
公共列表FindAllPossibilityGenID(字符串可能性类型);
}

您能帮我纠正这个错误吗?

我可以通过从实体中删除命名查询来解决这个问题。我使用@Query注释将查询直接引入存储库

只有一个问题,若您使用openJPA并试图在存储库中使用@Query,请尝试使用所用实体的完整路径,例如。 在查询中使用“com.entities.LevelPossibilityData”而不是“LevelPossibilityData”,即您的查询应该是“从com.entities.LevelPossibilityData level中选择级别”,而不是“从LevelPossibilityData level中选择级别”


我希望这个解释会有帮助。感谢大家在这方面花时间。

您是否绝对确定它在相同版本的spring data jpa上工作正常,但在hibernate上工作正常?我的意思是你在地图上没有做任何改变吗?我这样问是因为这个错误似乎高于JPA实现问题……嗨,Macias,是的,它在以前的实现中工作得很好(JPA以Hibernate作为供应商提供程序)。
package com.dao;

import java.io.Serializable;
import java.util.List;

import org.springframework.data.jpa.repository.JpaRepository;

import com.entities.LevelPossibilityData;

public interface LevelPossibilityDataRepository<ID extends Serializable> extends JpaRepository<LevelPossibilityData, Serializable> {

public List<LevelPossibilityData> findAllPossibilityGenIds(String possibilityType); 

}