我有2列store_number和manager_id的表,我为这个表创建了一个实体和一个存储库类。
我正在尝试使用下面的存储库方法通过store_number查询manager_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);
}
这是hibernate查询和结果
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]
: []
它返回一个空列表,但是当我直接执行上面的查询时,我得到了结果。
请帮我解决这个问题。我在这里做错了吗?
答案 0 :(得分:0)
如果您希望在数据库中保留下划线字段名称,请使用@Column(name="store_number")
为您的实体字段添加注释,并将您的字段重命名为驼峰式字体。
@Column(name="store_number")
private int storeNumber;
在您的存储库中,您可以使用方法
findByStoreNumber(int storeNumber)