我有一个具有复合驼峰大小写名称的Java实体,例如EmployeeProject。我需要使用Snake案例名称(例如,employee_project)来Map表格上的这些实体,而不是Quarkus/Panache使用的默认名称(例如,employeeproject)。我知道我可以用@Entity(name = "employee_project")设置一个定制表名,但我想知道是否有某种应用程序属性可以为我做同样的工作。
EmployeeProject
employee_project
employeeproject
@Entity(name = "employee_project")
jjjwad0x1#
您可以为此创建自定义命名策略。另请参阅下面的文章,其中有一个针对此用例的示例:https://thorben-janssen.com/naming-strategies-in-hibernate-5/#Names_in_snake_case_instead_of_camel_case
ahy6op9u2#
如果使用Christian的答案并实现SnakeCaseNamingStrategy(请参见此处),您可以使用Applation.Properties在Quarkus中配置它。这样一来,您就不必在sistence.xml中配置Hibernate了。
quarkus.hibernate-orm.physical-naming-strategy=com.example.SnakeCaseNamingStrategy
zkure5ic3#
您可以使用Hibernate提供的现有类
quarkus.hibernate-orm.physical-naming-strategy=org.hibernate.boot.model.naming.CamelCaseToUnderscoresNamingStrategy
3条答案
按热度按时间jjjwad0x1#
您可以为此创建自定义命名策略。另请参阅下面的文章,其中有一个针对此用例的示例:https://thorben-janssen.com/naming-strategies-in-hibernate-5/#Names_in_snake_case_instead_of_camel_case
ahy6op9u2#
如果使用Christian的答案并实现SnakeCaseNamingStrategy(请参见此处),您可以使用Applation.Properties在Quarkus中配置它。这样一来,您就不必在sistence.xml中配置Hibernate了。
zkure5ic3#
您可以使用Hibernate提供的现有类