我正在创建一个类来存储来自第三方服务的值,我创建了一个基于两个字段组合的唯一键(在创建行时填充),这样一个数据只存储一次,这就是实体类
@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);}
即使完全相同的查询在数据库中工作,它也总是返回null。我使用的是mysql(为了保密,我更新了名称,没有编译时错误,数据存储正确)
1条答案
按热度按时间w6lpcovy1#
我认为您不需要@query annotation:只需声明如下方法:
这就够了。
在我从事的一个项目中:
试试这个格式。