问题内容: 问题 首先,我想知道我的数据库结构很糟糕,但是目前我无法更改它。 话虽这么说,我需要在Hibernate(4.2.1)中创建一对多的双向关系,该关系不涉及主键(关系的“父”侧仅包含唯一键)并且不涉及联接表。表示这种关系的外键是从“子”到“父”的反向指针(请参见下文)。我已经搜索并尝试了各种不同的注释配置,但是没有运气。我要的是可能的吗? 数据库 GLOBAL_PART PART_REL
问题内容: 父类中有一个列表List。保存父项后,已添加或更改的子项应通过hibernate保存/更新。 我找到了很多解释,但是,我只是没有使它起作用。 Parent.class试试A Parent.class试试B 孩子被添加到新的父母。之后两者都保存 但是在冲洗时,出现以下错误: 有人看到我的错误吗? 非常感谢!! 问题答案: 我想如果您从第一条评论中回答这个问题,我们就会遇到这种情况: 你有
问题内容: 是否可以在不使用JPA在数据库中创建外键的情况下建立ManyToOne关联? 这些表由另一个系统拥有,并异步填充。因此,数据库中不能有FK。几乎总是,最终还是有联系。 问题是,即使ConstraintMode.NO_CONSTRAINT,JPA SchemaUpdate也会尝试添加FK。 [错误] ohthSchemaUpdate-无法添加外键约束 如果它没有使其余语句失败,我们可以忽
问题内容: 有什么办法可以使两个表之间没有直接关系但又在hibernate中有两个公共字段呢? 我有两个表,称为boiler_plates和profile,它们之间没有直接关系,但是有一个名为contract_id的公共字段。 我写了查询“来自bp.bt_contracts = p.contract_id上的Boiler_Plates bp内部连接配置文件p”,但它不断抛出错误。“意外令牌:在第1
问题内容: 我有一个Person类,该类具有别名的String集合,这些别名表示person可能通过的其他名称。例如,克拉克·肯特(Clark Kent)可能有别名“超人”和“钢铁侠”。德怀特·霍华德(Dwight Howard)的别名为“超人”。 Hibernate在我的数据库中创建了两个表Person和Person_aliases。Person_aliases是具有Person_id和elem
问题内容: 有3个表: TABLE_A ID_A field1 fieldN TABLE_B ID_B field1 fieldN TABLE_A_B ID_A ID_B orderField 但它不起作用,而是出现运行时错误: Hibernate在TABLE_B中搜索该字段。是否可以使用联接表的字段在多对多关系中使用“ OrderBy”?还是以其他方式在同一领域下订单? 问题答案: 您的代码是正
问题内容: 我有两个实体: 我正在尝试通过执行以下操作插入文件(以及随后的标签): 然后,我使用以下命令将文件插入DAO: 在我的日志中,我在“文件”表中看到一个插入,在标签表中看到2个插入,但是,指向我的文件表(file_id)的标签表中的外键为NULL。 我可能做错了什么? 问题答案: 您不是将标签的文件设置为文件,而是将标签的文件设置为文件。请记住,在OOP中,与关系模型相反,您必须设置关系
问题内容: 我正在使用JPA Criteria API构建查询。当我使用方法创建两个限制谓词时,生成的SQL查询与我预期的有所不同。 在属性之上构建的第一个谓词产生了SQL,其中的参数集合的所有元素都内联:。 在属性之上构建的第二个谓词产生了参数化的SQL :。 让我展示: 实体: 查询: 日志: 我的问题: 为什么将Integer列表的元素直接内联到sql以及将String列表的元素作为已准备好
问题内容: 我有以下课程: 现在,我基本上想加载all ,但在适用时渴望加载条,所以我使用以下查询: 在这种情况下,似乎为Bar实体产生了SELECT N + 1问题: 是否可以告诉hibernate急切地为子集合中的每个元素加载一个关联,而无需诉诸N + 1 SELECT? 我尝试了以下查询,但由于它是一个集合,因此显然无法正常工作: 我也尝试使用,虽然这使我可以引用子集合,但似乎并没有急于加载
问题内容: 我有两个实体,它在哪里取决于表中的另一个外键。 我要完成的工作是拥有一个in,这样每当我有一个实体对象时,我都可以从语言ID访问所有描述。 实体 Car.java 实体 CarDescription.java 实体 语言.java 我遇到的问题是映射为我提供了从到的映射。 如何完成正确的映射? 问题答案: 在您需要添加属性: 然后,您可以像这样在实体中使用它:
问题内容: 我正在使用JPA 2.0并hibernate。我有一个用户类和一个组类,如下所示: 然后,我创建一个用户和组,然后将该用户分配给该组。 我要拥有的是删除组时(当然),该组将被删除,并且该组具有的所有用户-组关系将从USER_GROUP连接表中自动删除,但用户本身不会从USER表。 使用上面的代码,当我删除组时,只有GROUP表中的行将被删除,并且用户在USER_GROUP连接表中仍然具
问题内容: 我基本上在此配置中有一些对象(实际数据模型要复杂一些): A与B有多对多关系。(B具有) B与C具有多对一关系(我已设置为) C是一种类型/类别表。 另外,我可能应该提到主键是在保存时由数据库生成的。 使用我的数据,有时我会遇到一个问题,其中A具有一组不同的B对象,而这些B对象引用了相同的C对象。 打电话时,我收到了一个hibernate错误消息:。我知道hibernate无法在同一会
问题内容: 我有一个实体A,它具有-B实体,而B具有-A与@OneToOne双向关联。 现在,当我找到所有A记录时,hibernate使用B上的左外部联接执行两个查询,如下所示: 第一次查询会加载A和B字段,但可以,但是为什么要执行第二次查询来重新加载A?我认为此查询将B中的A内容加载,但此A显然是包含B的A …因此它已经加载了第一个查询,不是吗? -编辑- 实体A: 实体B: 就是这种情况,在A
问题内容: 我使用Hibernate批注具有如下关系,这是我尝试过的: 这样的事情在ManyToOne上效果很好,如下所示: 我想确保外键在PostgreSQL上被索引,并且架构在MySQL上看起来相似,因此@ForeignKey和@Index具有相同的名称(MySQL始终创建与FK具有相同名称的索引)。 我无法在反面创建索引,因为FileSystemLocation不了解这种关系。因此,Join
问题内容: 我正在选择两个id列,但指定了错误: 一些代码: 如何解决错误,我在做什么错? 问题答案: 使用常规而不是(顺便说一句,默认情况下): 正如错误消息告诉您的那样,在这里没有意义,因为它是一种性能提示,会迫使人们急切加载收藏。