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

Hibernate列名问题

龙毅
2023-03-14
@Column(name="DateOfBirth")
private Date dateOfBirth;

我特别需要上面的代码来创建一个名为“DateOfBirth”的列,而Hibernate给了我一个名为date\u of\u birth的列。我怎样才能改变这个?有网站吗。xml属性?我遇到了DefaultNamingStrategy和ImprovedNamingStrategy,但不知道如何指定其中一种。

共有3个答案

卢毅
2023-03-14

这里有一个可能的解决方法:如果您将其命名为dateofborn,则DB中的列将这样命名,但属性名称应该相同。

Hibernate采用Camel case格式来创建/读取数据库列。

我以前有过这个问题。我使用的是一个遗留列,其中的列名称“employeename”、“employeerole”、“departmentlocation”中没有空格。我讨厌它,因为我所有的bean属性都必须没有camel case。

正如您刚才所看到的,用“\u1”分隔的数据库列将用于正确的camelCase。

常海
2023-03-14

仅供参考:插入下划线的原因可能是因为您使用的是改进命名策略。它设置在您的配置对象上。请参阅此处的示例...

如果不需要下划线,可以不设置命名策略,或者将其设置为先前发现的DefaultNamingStrategy。

呼延俊良
2023-03-14

试着把这个放进去

application.properties

spring.jpa.hibernate.naming.physical-strategy=org.hibernate.boot.model.naming.PhysicalNamingStrategyStandardImpl
 类似资料:
  • 问题内容: @Column(name=”DateOfBirth”) private Date dateOfBirth; 我特别需要上面的代码来创建一个名为“DateOfBirth”的列,相反,Hibernate为我提供了一个名为date_of_birth的列。我该如何更改?有没有web.xml属性?我遇到了DefaultNamingStrategy和改进的NamingStrategy,但是不确定如

  • 我的表的结构Product的列为productId,poductName和productPrice类别的列为categoryId,categoryName和categoryproducts的列为categoryId和productId

  • 我经常读这个网站,但这是我第一次写,希望我不会犯错误,并为我糟糕的英语道歉。我说到重点了:我必须开发代码来在postgresql数据库的单个表上插入记录,在一个Spring启动项目上使用Hibernate。这个表有一个序列,我想用它来获取id的值。在我的表的hbm.xml文件中,我有这样一个: 在bean类中,我有变量idTito及其getter和setter方法。 当我试图通过调用实现JpaRe

  • 问题内容: 我在HQL语句中绑定了命名参数,但只是没有被填充。 它输出类似这样的内容,这意味着未设置参数(coln,colv)并返回0条记录。 感谢您提供有关如何在HQL语句中绑定列名称的任何帮助。谢谢。马赫迪。 问题答案: 您不能将列名称绑定为参数。仅一列值。在绑定参数值和执行查询之前,在计算执行计划时必须知道该名称。如果您确实希望拥有这样的动态查询,请使用Criteria API或其他动态创建

  • 有一点公式的乐趣,这让我发疯。我们有一些代码通过公式获取实体,数据库中没有链接,需要在运行时完成,因此@formula的用法。下面是课堂的样子: 公式是这样建立的: 现在,我最初直接使用列DEFAULT\u COST\u CENTER\u SAP\u CODE和DEFAULT\u WBS\u SAP\u CODE,而不使用内部select,但是在这两列上都得到了错误的无效标识符,所以我想我应该尝试

  • 问题内容: 我正在使用oracle 11g,Java(struts2)和Hibernate开发应用程序。 我有一个名为mytemp的表,其列mytemp_id为NUMBER(22,0)类型。 在我的mytemp.hbm.xml文件中,ID如下所示 在我的Oracle数据库中,创建了名为“ MYTEMP_TEMP_ID_SEQ”的序列,并在Oracle中正常工作。 现在,当我尝试使用hibernat