问题内容: 我很难从OneToMany协会中删除孩子。我的实体: 我删除孩子的尝试失败: 这可行,但是我认为那不是正确的方法: 我在这里做错了什么? 由于 强尼 问题答案: 关联是双向的,并且双向关联的拥有方是没有mappedBy属性的一方。这意味着在这种情况下,拥有方是项目方。 Hibernate仅考虑拥有方知道关联是否存在。这意味着要破坏人员与项目之间的关联,必须将人员设置为项目中的。
问题内容: 我的问题基于以下(简化的)Grails域类 有没有办法将多对多的父母/孩子关系映射到单个联接表? 问题答案: 据我所知,唯一的方法就是 创建另一个 表示父子关系的 域类 。 该关键字指定对象指的一个是永远的孩子。通过在映射中指定,我们确保从子级删除a时,将从数据库中删除关联的对象。 您还可以在类中添加便捷方法来封装上的操作,以使界面更像GORM。 我使用这种方法已有一段时间了,到目前为
问题内容: 我在数据库中有以下架构(简化) 我在问是否有任何方法可以为主表定义实体,以便直接使用其他表中的标签,即无需为其他表定义实体。 我无法更改数据库架构,这真的很糟糕(到处都有多个标签/代码对,在多个表中定义)。而且,如果有可能,此解决方案将使我的代码保持简单,因为我真的不需要这些其他实体。 我想这会导致类似的结果: 在此先感谢您的帮助! 问题答案: 另一种可能性是使用注释从另一个表中获取值
问题内容: 我使用Hibernate Envers审核我的实体。 我有一个审核的实体,它具有as属性。但是,我不想审核实体。因此,我写道: 现在,我要检索的修订: 不幸的是,当我想检索所有数据时(即,当它延迟加载时),我得到了error ,因为它试图查询: 我虽然使用,但Hibernate Envers会保持与 当前 实体项目的链接。 __ 那么如何解决我的问题,而不必显式审核表和(联接表)?在别
问题内容: 我使用以下查询任何与某些实体绑定的实体。我传入一个包含要搜索的实体ID的ID 。 我将此规范传递给我的方法,以检索一个包含所有符合搜索条件的实体的。 这是。 这就是我调用该方法的方式。 这可以正常工作并返回与传入ID对应的任何实体相关联的所有实体。但是,由于我要将该实体与该实体联接,因此如果一个应用ID列表中有多个实体,则查询将返回重复的实体。 因此,我需要知道的是,如何仅使用this
问题内容: 我有以下hibernate映射: 而表如下所示: 我的hibernate查询看起来像: 但是我总是 有人可以帮我如何使它正常工作吗? 问题答案: 您必须使用子查询而不是联接。大致如下: 另外,根据类型的不同,应该以其他格式显示它。
问题内容: 我正在使用Gilead将我的实体保存在我的GWT项目中,同时还使用了hibernate注释。我的问题出在我的onetomany关联上。这是我的User类,其中包含对FileLocations列表的引用 @OneToMany(cascade = CascadeType.ALL,fetch = FetchType.LAZY)@JoinColumn(name =“ USER_ID”)私有列表
问题内容: 我有四个表: 和类似的实体结构: 我需要一个查询将返回所有与它在表和孩子初始化。该是预先抓取,但孩子们是懒牵强。 我知道如何编写查询,将查询表的直接子级并相应地对其进行初始化。但是,我不知道如何获取从顶层表急切获取的表的子级。 我已经尝试过类似的东西: 但是,这总是给我一个错误,即所有者不是SELECT的一部分。 任何帮助是极大的赞赏。 问题答案: Hibernate参考 我们可能需要
问题内容: 我有一个实体: 和一个实体: Hibernate在foo.bar-> bar.id上创建外键约束,但未指定。为什么不?并且有什么方法可以实现? 或者,我可以在数据库中手动添加(并禁用DDL生成), 这是一个好习惯吗? 而且,我是否必须以某种方式修改代码以让Hibernate知道相关记录已被数据库自动删除? 谢谢。 更新 -这是我的JPA / Hibernate / PostgreSQL
问题内容: 我正在使用Spring和Hibernate和MySQL开发应用程序。我是Hibernate的新手,做了基本任务… 现在,我需要在选择查询中应用联接,以使用注释从多个表中获取数据。我已经搜寻过,但仍然不知道… 这是我的数据库表和bean类: 我的bean类是: EmployeeInfoForm.java EmployeeLoginForm.java 需求: 我想选择字段 EMPID,em
问题内容: 我想要3个Java类的对象之间的 单向 一对一关系:“人到心脏”和“人到肝脏”。我希望对象共享相同的PK,即每个人都有相应的心脏和肝脏,其中person.person_id = heart.heart_id = liver.liver_id。我不想将3个表合并为1个表,因为每个表都有很多字段。这是我的代码(主要基于该问题的公认答案): 我设置了会话并执行以下操作: 然后,如果我将人对象
问题内容: 我这样做是为了对实体对象进行延迟加载: 我想与多个延迟加载的集合返回一个实体对象 加载的 ,我能做到这一点(通过在列表中,并设置超过联想单个标准是什么?): 问题答案: 是? 该文档包含以下内容: 该查询将通过外部联接获取伴侣和小猫。有关更多信息,请参见第20.1节“获取策略”。
问题内容: 如果我有3个相互连接的类。 room等级 person clas table_phone 我要在这里执行的是实现软删除,即在已删除项目的已删除列中插入值1,在现有项目中插入值0。另外,我还希望级联删除操作,因此,如果删除任何会议室,那么与该会议室相关的每个人和电话也将被删除(“已删除”列值设置为1)。我的问题是我该怎么做?有什么优雅的方法可以实现这些东西吗? 问题答案: 使用Hiber
问题内容: 作为hibernate可选连接的后续内容 系统中许多现有查询都依赖EntityOne和EntityTwo之间的映射关系,并且更改此关系不是一个吸引人的选择,但是我现在需要开始存储和检索联接表中不存在的值。顺便说一句,这可以与以下映射配合使用: ..但是,在查询时,如果结果的值在联接表中不存在,则该字段的值为null,并且我无法告知其实际值。我希望hibernate只在不存在关系的情况下
问题内容: 我试图了解如何在hibernate中最好地实现多态一对多。 例如: 现在,我想保留以下类的审核信息: 什么是适当的映射?另外,Hibernate实际上将如何坚持下去呢?将一系列连接的表的生成(,,),或者是有没有更好的办法? 请注意,我宁愿不要让我的其他实体类暴露联接的另一面(例如on ),但是,如果这是最干净的实现方式,那就足够了。 问题答案: 映射的超类不是实体,因此不能成为关联的