Java SpringDateJPA查询方法始终不返回任何数据

Java SpringDateJPA查询方法始终不返回任何数据,java,spring,spring-boot,jpa,spring-data-jpa,Java,Spring,Spring Boot,Jpa,Spring Data Jpa,我创建了一个类来存储来自第三方服务的值,我创建了一个基于两个字段组合的唯一键(并在创建行时填充),这样一个数据只存储一次,这就是实体类 @Table(name = "HQWrapper") @Entity public class HQWrapper { @Id @GeneratedValue(strategy = GenerationType.AUTO) private long hQId; //other fields gett

我创建了一个类来存储来自第三方服务的值,我创建了一个基于两个字段组合的唯一键(并在创建行时填充),这样一个数据只存储一次,这就是实体类

@Table(name = "HQWrapper")
@Entity
public class HQWrapper {
    
    @Id
    @GeneratedValue(strategy = GenerationType.AUTO)
    private long hQId;
     //other fields getter setter 
    @Column(unique = true,name="uniqueRef")
    private String uniqueRef;
我想基于这个键uniqueref获取值,所以我在repository类中创建了一个查询方法

@Repository
public interface Repository_HQ extends JpaRepository<HQWrapper, Long>{

    @Query("select h from HQWrapper h where h.uniqueRef= :uniqueRef")
    public Optional<HQWrapper> findByUniqueRef(@Param("uniqueRef") String uniqueRef);}
@存储库
公共接口存储库\u HQ扩展了JPA存储库{
@查询(“从HQH中选择h,其中h.uniqueRef=:uniqueRef”)
公共可选findByUniqueRef(@Param(“uniqueRef”)字符串uniqueRef);}

即使完全相同的查询在数据库中工作,它也总是返回null。我使用的是MYSql(为了保密,我更新了名称,没有编译时错误数据被正确存储)

我认为您不需要@Query注释: 只需声明如下方法:

public Optional<HQWrapper> findByUniqueRef(String uniqueRef);
public可选findByUniqueRef(字符串uniqueRef);
这就足够了


在一个项目中,我使用了:

@Repository
public interface TagRepository extends JpaRepository<Tag,Long> {

    @Query("FROM Tag t WHERE t.name = :tagName")
    Tag findTagByName(String tagName);
}
@存储库
公共接口标记库扩展了JpaRepository{
@查询(“来自标记t,其中t.name=:标记名”)
标记findTagByName(字符串标记名);
}

尝试此格式。

它返回
null
可选。empty()
?我这样问是因为方法的返回类型是Optionalby null,我指的是没有数据,我更新了相同的thanksHi,我开始尝试不使用@Query,然后也尝试了本机查询,但在处理我使用的一个项目时不起作用:```@Repository公共接口TagRepository Extendes JpaRepository{@Query(“FROM Tag t WHERE t.name=:tagName”)Tag findTagByName(字符串标记名);}``请尝试此格式。我在回答中添加了一个代码段,请检查。