当前位置: 首页 > 面试题库 >

自动为@Embeddable类的列名添加前缀

杜俭
2023-03-14
问题内容

我正在开发一个项目,通过添加Hibernate批注来保留一些POJO。我遇到的一个问题是这样的代码失败,因为Hibernate尝试将内的子字段映射Time_T到同一列上(即startTime.secstopTime.sec两者都试图映射到colum
sec,从而导致错误)。

@Entity
public class ExampleClass
{
  @Id
  long eventId;

  Time_T startTime;
  Time_T stopTime;
}

@Embeddable
public class Time_T
{
  int sec;
  int nsec;
}

由于会有很多出现这样在整个系统中,这将是很好,如果有一个选项来自动添加一个前缀列的名称(例如使列是startTime_secstartTime_nsecstopTime_secstopTime_nsec),而不必基于每个应用覆盖领域基础。Hibernate是否具有此功能,或者是否有其他合理的解决方法?


问题答案:

尝试将属性设置hibernate.ejb.naming_strategyorg.hibernate.cfg.DefaultComponentSafeNamingStrategy



 类似资料:
  • 问题内容: 我正在开发一个项目,其中通过添加Hibernate批注来保留一些POJO。我遇到的一个问题是,这样的代码失败了,因为Hibernate尝试将内的子字段映射到同一列上(即,两者都试图映射到colum ,从而导致错误)。 由于会有很多出现这样在整个系统中,这将是很好,如果有一个选项来自动添加一个前缀列的名称(例如使列是,,,),而不必基于每个应用覆盖领域基础。Hibernate是否具有此功

  • 我有一个包含许多列的表,我希望为每个列添加前缀。 我尝试了以下查询:

  • 问题内容: 我想为每个列名添加后缀,如下所示: 我该怎么做呢?另外,如果要添加后缀,解决方案将如何更改? 问题答案: 您可以使用一种理解: 也有内置方法,如和在另一个答案中提到的。

  • 问题内容: 在MySQL中,是否可以在自动递增前面附加一个字母。我的数据库中有几个表,其中一些表具有通过自动增量创建的唯一ID。我希望能够通过前面的字母来区分自动生成的数字。 这不是绝对必需的功能,但只会帮助简化小型任务。 问题答案: 不幸的是你不能那样做。至少不是在sql中。自动增量字段是整数类型,因此在其中添加字母会违反约束。 我希望这可以引导您朝正确的方向发展。

  • 问题内容: 我在Team和Player类之间有一种@OneToMany关系。我想在您的玩家之间保存一个Team对象。玩家的标识符由团队外键和列表索引组成,如下所示。我有一个这样的映射,因为我需要保存Team和您的Players同时吃饭。 所以,如果我使用以下 无论是否使用@ CollectionsOfElements,Player类都需要一个@Embeddable注释,而不是一个@Entity,这

  • 我需要向常规类列表中添加一个动态类,但不知道如何添加(我使用的是babel),如下所示: 有什么想法吗?