【问题标题】:How to map table which doesn't has Id column with hibernate mapping file如何使用休眠映射文件映射没有 Id 列的表
【发布时间】:2014-03-20 10:36:13
【问题描述】:

我正在使用旧数据库,其中我有一个数据库表,但表没有“ID”列。我想用 Hibernate 映射文件映射该表。可能吗?如果是,那怎么办?
提前致谢!!

表结构如下

EmployeeEx // table Name

 empName address p_address emp_type

【问题讨论】:

  • 有没有什么独特的东西可以用作 id,例如empName?否则,您可能必须使用复合键。没有正确的 id 会影响性能。
  • 我认为不可能。您可以尝试以某种方式使用隔离键。

标签: java hibernate jakarta-ee orm


【解决方案1】:

主键不必完全是“ID”列。

如果你的表中有一个唯一的列,例如“empName”,你应该在类中用@Id注释它或者根据http://docs.jboss.org/hibernate/orm/4.3/manual/en-US/html/ch05.html#mapping-declaration-id的手册编写映射文件

如果表中有唯一的列组合,则应使用复合键。您可以在第 5.1.2.1 节中了解它。上面链接上的复合标识符。关于它的一些提示也在其他问题上(Hibernate/persistence without @Id

如果没有唯一的组合,那么恐怕在你的情况下没有办法使用hiberante:(映射类必须声明数据库表的主键列。)来自上面的链接。

【讨论】:

    猜你喜欢
    • 2021-09-29
    • 1970-01-01
    • 2023-03-14
    • 2018-01-15
    • 2011-07-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-11-03
    相关资源
    最近更新 更多