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

没有主键的休眠

廉飞捷
2023-03-14
问题内容

我使用Hibernate制作了一个示例应用程序。我的要求是表上没有主键。我只需要从应用程序中选择查询。我知道应该有一个主键,但是我所引用的表没有它。

它有大约5万条记录。因此,修改表以添加ID列将看不到可行的选项。

有可能吗


问题答案:
  1. Hibernate 要求 实体表具有主键。故事结局。
  2. 在谈论数据库时,5万条记录根本就不多。

我的建议:在表中添加一个自动增量整数PK列。您会对它的速度感到惊讶。



 类似资料:
  • 问题内容: 我必须与Hibernate合作,但我不确定如何解决此问题,我有2个具有1..n关系的表,如下所示: 如何使用Hibernate进行管理? 我不知道如何声明将包含主键一部分的外键。 我的数据库架构是从Hibernate模型生成的。 问题答案: 我找到了解决此问题的两种方法。 第一个是一种解决方法,没有第二个那么整洁。 将实体的主键定义为包含,和的复合键,首先将假定为主键的内容定义为唯一约

  • 问题内容: 问题 首先,我想知道我的数据库结构很糟糕,但是目前我无法更改它。 话虽这么说,我需要在Hibernate(4.2.1)中创建一对多的双向关系,该关系不涉及主键(关系的“父”侧仅包含唯一键)并且不涉及联接表。表示这种关系的外键是从“子”到“父”的反向指针(请参见下文)。我已经搜索并尝试了各种不同的注释配置,但是没有运气。我要的是可能的吗? 数据库 GLOBAL_PART PART_REL

  • 问题内容: 我在使用Find()方法的行中得到以下异常(缺少主键) “表没有主键。” 我已经重新检查了数据库,所有主键列均已正确设置。 我的代码: 问题答案: 您需要在调用 Find* 之前设置 DataTable 对象的 PrimaryKey 属性。 ***

  • 问题内容: 我一直在研究各种休眠教程和示例,因为它们具有身份/主键属性,有些使用Java基本类型,有些使用包装器类型。 与 为什么以及何时将实体密钥用作另一个? 问题答案: 从Hibernate的角度来看,它没有任何改变,因为Hibernate使用相同的Hibernate类型来表示它们。 然而,正如字节码忍者指出,你不能区分原始INT的默认值从分配的同时也有可能没有歧义(一个ID总是意味着一个新的

  • 我有一个spring实体类,如下所示。 具有相应的getter和setter。 我已经为这个表访问编写了一个Spring Data JPA存储库,如下所示。 但我想使用value读取所有记录。但不是主键。所以我想知道如何实现这一点。 有人能帮我一下吗。