【发布时间】:2015-02-27 08:48:04
【问题描述】:
我有一个 Item 类,其属性名为 vendor_name,如下所示:
@Entity
@Table(name="item_info")
public class Item {
@Column(name="vendor_name")
protected String vendor_name;
/* Getter/Setter methods */
我正在尝试编写一个 CRUDRepository 接口来根据 vendor_name 返回项目:
@Repository
public interface ItemDAO extends CrudRepository<Item, Integer>{
public Item findByVendor__name(@Param("vendor_name") String vendor_name);
}
根据文档,如果属性名称中有下划线,那么我们需要通过添加额外的下划线来转义 findBy 方法中的下划线。但是,我仍然收到一条错误消息,提示“没有为类型 Item 找到名为 vendor 的属性”。
我无法从属性中删除下划线。有没有其他方法可以解决这个问题?
【问题讨论】:
-
尝试转义参数注释中的下划线:
@Param("vendor\_name") -
您能找到解决问题的方法吗?
-
@Igor 我无法解决这个问题。我将属性名称更新为 vendorName 并改用 findByVendorName()。
-
@drunkenfist 感谢您的回复。是的,我最终也重命名/重新映射了我的专栏。