Spring数据JPA findBy返回null

时间:2018-02-05 09:07:01

标签: sql spring hibernate spring-data-jpa jpql

我正在使用Spring数据JPA并遇到一个奇怪的问题。 方法findBY ..和findOne()返回null值,而findAll()返回数据库中存在的所有记录。

实体类:

@Entity
public class Person {
private String name;
@Id 
private String nino;
private Integer employerId;
private Integer employmentLevel;

存储库类

public interface PersonRepository extends  JpaRepository<Person, String>{

    Person findByNino(String nino);
}

服务类

@Transactional(readOnly = true)
    private Person fetchPerson(String nino)
    {
        return personRepository.findByNino(nino);
    }

有人可以帮助我吗?

2 个答案:

答案 0 :(得分:0)

您的方法应该有效,请检查您的nino值。只是为了确保和测试目的,使用替代方法 -

@Query("select p from Person p where p.nino = :nino")
Person findByNino(@Param("nino") String nino);

答案 1 :(得分:0)

我想出的问题是:

我正在向邮递员发送服务http://localhost:8080/getPerson?nino=“AB”&amp; id = 1。

双引号是个问题。它应该是http://localhost:8080/getPerson?nino= AB&amp; id = 1