繁体   English   中英

Spring JPA/Hibernate findby 列名返回空集合

[英]Spring JPA/Hibernate findby column name return empty collection

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

我正在尝试使用下面的存储库方法通过 store_number 查询 manager_id

豆类:

@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); 
}

这是休眠查询和结果

Hibernate: select storemanag0_.manager_discount_id as manager_1_2_,    storemanag0_.store_number as store_nu2_2_ from storemanagers    storemanag0_ where storemanag0_.store_number=?    2016-12-23 12:16:15.763 TRACE 644 --- [nio-4000-exec-1] o.h.type.descriptor.sql.BasicBinder      : binding parameter [1] as    [VARCHAR] - [00012]

   : []

它返回一个空列表,但是当我直接执行上面的查询时,我得到了结果。

请帮我解决一下这个。 我在这里做错了吗?

如果您希望在数据库中保留带下划线的字段名称,请使用@Column(name="store_number")注释您的实体字段,并将您的字段重命名为驼峰式。

@Column(name="store_number")
private int storeNumber;

在您的存储库中,您可以使用该方法

findByStoreNumber(int storeNumber)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM