【问题标题】:spring-data Property name with underscore is not escapable as the documentation states如文档所述,带有下划线的 spring-data 属性名称不可转义
【发布时间】:2015-06-02 17:06:34
【问题描述】:

所以我阅读了 Spring 文档,其中指出当您的属性名称带有下划线 (first_name) 时,您应该在查询方法中使用另一个下划线 (findByFirst__name(...)) 转义和下划线。

Spring Data Documentation

但是,实际上这不起作用,我们会收到一个运行时错误,指出无法找到属性 first。其他开发人员已在此处记录了这一点:

Link 1 Link 2

但所提供的答案都没有解决这在实践中无法正常工作的事实。大多数答案都表明要从属性名称中删除下划线......这并不总是一件容易或可能的任务。任何人都可以确认他们实际上已经让这个工作了吗?我的猜测是 Spring-data 中有一个错误,但由于某种原因,还没有人承认这一点或提交错误。

除了重命名数据库字段之外,是否有任何人成功解决此问题的解决方法?

【问题讨论】:

    标签: java spring jpa


    【解决方案1】:

    我调试了 spring-data-commons 1.9.2.RELEASE 版本并创建了以下拉取请求,因为代码似乎无法处理这种情况。如需更多信息,请查看以下链接:

    https://github.com/spring-projects/spring-data-commons/pull/126

    在这里阅读:https://jira.spring.io/browse/DATACMNS-569

    【讨论】:

    • 太棒了!感谢您确认这一点并记录问题,我以为我会丢失它(不是第一次)。
    • 感谢您的链接。我决定重命名所有数据库字段,以便它们不使用下划线。但是现在我遇到了一个问题,一旦查询完成,spring 正在使用的类加载器无法在类路径中找到我的模型类(这是在播放框架应用程序中)。我现在正在做一些研究,一旦我将所有信息汇总在一起,就会形成一个包含所有细节的新问题
    猜你喜欢
    • 2015-07-11
    • 1970-01-01
    • 1970-01-01
    • 2022-06-13
    • 2016-03-14
    • 2011-07-31
    • 1970-01-01
    相关资源
    最近更新 更多