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

如何更改JPA生成列名的默认格式

申屠宗清
2023-03-14

目前,我正在将新的JPA实体映射到旧的数据库。数据库中的列名用下划线分隔,如'my_column_name'。

问题是JPA默认使用with camel case。

// Will be 'myColumnName' in queries and generated databases
private String myColumnName;

我知道可以添加@column(Name=“..”)或@JoinColumn(Name=“...”)属性-但这意味着我必须将它添加到所有实体中的每个属性中。

@Column(name = "my_column_name")
private String myColumnName;

是否可以更改JPA的默认行为,使用'my_column_name'而不是'my columnname'?

共有1个答案

饶志
2023-03-14

不幸的是,JPA没有提供任何全局命名策略。所以您应该在每个属性上使用@column注释。但是您可以使用Hibernate来实现这个目标。请参阅Hibernate文档。

 类似资料:
  • 每当我在Android Studio中生成一个签名apk,默认情况下它给出的名称是app-release.apk... 我们是否可以做任何设置,以便它应该提示并询问我需要分配给apk的名称(在eclipse中这样做) 我所做的是-在apk生成后重命名它。这不会给出任何错误,但有没有任何真正的方式,使我可以做任何设置的改变,以获得提示。

  • 每当我在Android Studio中生成签名apk时,默认情况下,它会将名称app-release.apk.... 我们是否可以进行任何设置,以便它能够提示并询问需要分配给apk的名称(就像它在eclipse中所做的那样) 我要做的是——在生成apk后重命名它。这不会给出任何错误,但有没有真正的方法可以让我更改设置以获得提示。 注:

  • 问题内容: 尝试更改列的数据类型并设置新的默认值时遇到以下错误: 错误1064(42000):您的SQL语法有错误;检查与您的MySQL服务器版本相对应的手册,以在第1行的’VARCHAR(255)NOT NULL SET DEFAULT’{}’‘附近使用正确的语法 问题答案: 同样的第二种可能性(感谢juergen_d):

  • 在尝试更改列的数据类型并设置新的默认值时,我遇到以下错误: 错误1064(42000):您的SQL语法中有错误;查看与您的MySQL server版本相对应的手册,以了解第1行“varchar(255)NOT NULL SET DEFAULT”{}“附近使用的正确语法

  • 问题内容: 我正在使用weblogic和oracle对Web应用程序进行编程。数据源是通过JNDI配置的,具有受限制的数据库用户,该用户可以DML到表中,但不能DDL。您可能会猜到,该用户不是这些表的所有者,但已授予该用户访问权限。 假设他是GUEST_USER 该应用程序正在使用JPA + EclipseLink,并且已经定义了许多实体。我不想在每个实体类中都写入要更改架构的属性。我已经尝试过使

  • 当启动一个流浪者盒子时,“默认”这个名字来自哪里? 有没有办法设定这个?