我有一个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的属性”。
我无法从属性中删除下划线。还有其他方法可以解决这个问题吗?
答案 0 :(得分:0)
来自Spring Data JPA文档:
由于我们将下划线视为保留字符,因此我们强烈建议遵循标准的Java命名约定(即不在属性名称中使用下划线,而是使用驼峰大小写)。