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

Hibernate@Table(名称)更改为小写

微生承业
2023-03-14

我在Hibernate中有一个每个类继承的表。

@Entity
@Inheritance(strategy=InheritanceType.TABLE_PER_CLASS)
public abstract class A {
}

@Entity
@Table(name="B")
public class B extends A {
}

@Entity
@Table(name="C")
public class C extends A {
}

我只是想验证这个模式。我已经有了db中的B表和C表。

我正在使用

为什么hibernate将@Table中指定的名称转换为lowerCase并搜索b和c而不是b和c?如何避免?


共有1个答案

文志学
2023-03-14

如果您使用的是JPA 2.0,则规范如下:

可以通过指定< code >来指定将持久性单元中使用的所有数据库标识符视为带分隔符的标识符

此设置应导致HiberNate使用表的大写名称,因为这就是您在注释中指定名称的方式。

 类似资料:
  • 问题内容: 我的Mysql数据库中有一个表,该表用于身份验证。现在,我需要使身份验证区分大小写。在谷歌搜索中,我已经意识到Mysql列对于搜索操作是不区分大小写的(与Oracle相反),并且在创建表时可以通过指定“ binary”即更改默认行为。 有人可以告诉我如何更改Mysql中的表以将“二进制”添加到数据库的现有列吗? 谢谢! 问题答案:

  • 问题内容: 我的UserDetails类与Entitity类Vehicle具有一对一的映射。创建2个表并分配一个通用外键,该键将vehicle_id列(UserDetails表)映射到主键vehicleId(Vehicle表)。 我的问题是:如何将生成的外键更改为有意义的内容,例如Fk_userdetails_vehicle。 问题答案: 从JPA 2.1开始,您可以使用@ javax.persi

  • 我的UserDetails类与Entitity类Vehicle有一个一对一的映射。创建两个表并分配一个泛型外键,该外键映射vehicle_id列(UserDetails表)至主键vehicleId(Vehicle table)。 我的问题是:我们如何将这个生成的外键改变成有意义的东西,比如Fk_userdetails_vehicle。

  • 问题内容: 我有一个必须在单个物理框中运行多个tomcat服务器的要求。从浏览器访问这些文件时,当用户在应用程序之间切换时,将导致注销用户先前访问的应用程序。这是因为JSESSIONID Cookie冲突。 一种可能的解决方案是在不同的上下文中运行每个应用程序。不幸的是,我的应用程序无法在上下文路径设置中工作,因为前面没有使用request.getContextPath()访问任何资源。 这使我可

  • 我有一个表实体映射为: 当我尝试在数据库中插入新记录时,表名以小写形式翻译为:items\u to\u register,但我的表名是items\u to\u register如何在不更改MySql配置的情况下修复我的问题?(我的cnf) 我的application.properties档案里有:

  • 问题内容: 我有以下代码: 但月份名称以英文显示。我该怎么做才能用法语显示?我已将默认区域性更改为法语,但没有任何反应。 问题答案: 从http://php.net/manual/en/function.date.php中: 要使用其他语言格式化日期,应使用setlocale()和 strftime()函数代替date()。

  • 到目前为止我所尝试的: > 在Docusign管理设置(设置->签名设置->签名采用配置)中,禁用了“锁定收件人名称”复选框,但这不会导致任何更改。 我还尝试在API中的签名者(https://developers.docusign.com/docs/esign-rest-api/reference/envelopes/enveloperecipients/#core-recipitions-pa

  • 问题内容: 我对hibernate(5.1版)的命名策略有些困惑-即它更改了我的表名,我想避免这种情况。另外- 根据intelij似乎已弃用,但我找不到正确配置它的(另一种)方法。 我在application.properties中具有以下配置: 如前所述,第一个被标记为已练习。 现在我有一个实体: 表格名称是类似usaUploadTable 中的名称。 现在,当我运行我的应用程序时,我得到 表’