Java Spring JPA/Hibernate按列名查找返回空集合

Java Spring JPA/Hibernate按列名查找返回空集合,java,hibernate,spring-boot,spring-data-jpa,Java,Hibernate,Spring Boot,Spring Data Jpa,我的表有两列store_number和manager_id,我为这个表创建了一个实体和一个存储库类 我正在尝试使用下面的存储库方法,通过存储库编号查询管理器id Bean类: @Entity public class StoreManagers { @Id @GeneratedValue @Column(name="store_number") private String storeNumber; private String managerId;

我的表有两列store_number和manager_id,我为这个表创建了一个实体和一个存储库类

我正在尝试使用下面的存储库方法,通过存储库编号查询管理器id

Bean类:

@Entity
public class StoreManagers {
    @Id
    @GeneratedValue
    @Column(name="store_number")
    private String storeNumber;
    private String managerId;   
    public StoreManagers() {
    }
    public String getStoreNumber() {
        return storeNumber;
    }
    public void setStoreNumber(String storeNumber) {
        this.storeNumber = storeNumber;
    }
    public String getManagerId() {
        return managerId;
    }
    public void setManagerId(String managerId) {
        this.managerId = managerId;
    }
    @Override
    public String toString() {
        return "StoreManagers [storeNumber=" + storeNumber + ", manageId=" + managerId + "]";
    }
}




public interface StoreManagersRepository extends JpaRepository<StoreManagers, String> { 
        List<StoreManagers> findByStoreNumber(String storeNumber); 
}
它返回一个空列表,但当我直接执行上面的查询时,就会得到结果


请帮我做这个。我在这里做错了什么?

如果您希望在数据库中保留带下划线的字段名称,请使用
@Column(name=“store\u number”)
注释实体字段,并将字段重命名为驼峰大小写

@Column(name="store_number")
private int storeNumber;
在存储库中,您可以使用

findByStoreNumber(int storeNumber)

您没有传递相同的storeNumber,或者您和应用程序没有使用相同的数据库,或者您看到的数据已插入但尚未提交。请在出现问题的地方添加代码。请不要覆盖我所做的编辑,如果这会使帖子看起来更糟。我使用的是相同的数据库和storeNumber,另外,我正在从DB读取现有数据。请尝试直接运行
commit
命令,重新启动应用程序并检查结果。设置参数后尝试打印查询。使用相同的..请查看问题部分中的实体类代码默认情况下,他可以在数据库中使用下划线,大小写将拆分为下划线。尝试将
storeNumber
更改为
int
long
,或者如果
storeNumber
是字母数字,请提供另一个字段,该字段将是
id
,并由
@GeneratedValue
注释
findByStoreNumber(int storeNumber)