当前位置: 首页 > 知识库问答 >
问题:

下划线不正确的JPA列

卢俭
2023-03-14
Unknown column 'program0_.program_id' in 'field list'

模型:程序

  @Entity
  @Table(name = "programs")
  @XmlRootElement
  public class Program implements Serializable {
          @Id
          @GeneratedValue(strategy = GenerationType.IDENTITY)
          @Basic(optional = false)
          @Column(name = "programId")
          private Long programId;
          @ManyToMany
          @JoinTable(
                  name = "programlabels",
                  joinColumns = {
                    @JoinColumn(name = "program", referencedColumnName = "programId")},
                  inverseJoinColumns = {
                    @JoinColumn(name = "label", referencedColumnName = "labelId")})
          private Collection<Label> labels;
        }

标签

@Entity
@Table(name = "labels")
@XmlRootElement
public class Label implements Serializable {
  @Id
  @Basic(optional = false)
  @NotNull
  @Size(min = 1, max = 100)
  @Column(name = "labelId")
  private String labelId;  
}

查询

select program0_.program_id as program_1_5_, ...
@Repository
public interface ProgramRepository extends JpaRepository<Program, Long> {}

共有1个答案

訾俊名
2023-03-14

如spring-boot-jpa-column-name-annotation-忽略中所述,列名正在转换为snake case。

可能的解决办法:

  • 设置命名策略
  • 在批注中使用小写列名
 类似资料:
  • 问题内容: 我使用JPA进行数据库访问,并用正确的名称注释了每一列。现在,如果我执行查询(例如),它将返回 错误消息是正确的,未知,因为真实名称是。 型号:程序 标签 询问 JPA是否有理由将“ programId”更改为“ program_id”,或者我缺少任何配置? 谢谢 编辑:抱歉,忘记添加查询代码/信息。 我使用Spring Data的界面并尝试了查询。 问题答案: 如spring-boo

  • 经过一些研究,参考这些帖子,我尝试设置自定义命名策略 Hibernate命名策略 下划线不正确的JPA列 以下是我的自定义命名策略 LocalContainerEntityManagerFactoryBean: customProperties() 但是当启动springboot应用程序时,它会抛出以下异常: 使用spring Boot-2.2.4.发布

  • underline(resource $resourchHandle, Format::const $style): \Vtiful\Kernel\Format 示例 $format = new \Vtiful\Kernel\Format($fileHandle); $underlineStyle = $format->underline(Format::UNDERLINE_SI

  • 尽管遵循了网络上的所有示例,但我很难让@MapsId工作。 这是我的设置: pom.xml: DDL脚本: ProjectId.java: Project.java: 订阅.java: 当我进行插入时,会发生以下错误: Hibernate:插入t。项目(name,subscription_id)值(?,?)2014年7月20日11:06:59193 org.hibernate.engine.jdb

  • 问题内容: 我正在用这个 我的输出是 但是如果我用 下划线代替 那我的输出是正确的 这是为什么? 问题答案: 是变量名的有效字符,并且不存在。

  • 我在一个spring webmvc项目上使用spring-data-jpa。我在使用我的一个实体的存储库创建查询时遇到了一个问题。下面您可以看到我的实体、我的存储库和异常。 我的实体: 我的存储库: 而例外, 最后,我将重命名为(删除下划线),并重命名getters/setters和存储库(),问题得到解决。 我的问题是为什么会发生这种情况?