问题内容: 我有一个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列,但指定了错误: 一些代码: 如何解决错误,我在做什么错? 问题答案: 使用常规而不是(顺便说一句,默认情况下): 正如错误消息告诉您的那样,在这里没有意义,因为它是一种性能提示,会迫使人们急切加载收藏。
问题内容: 在hibernate状态下,查询似乎有些困难。我正在两个表上执行内部联接。 产品表: 仓库表: 联接结果: 当我运行查询.. 因此,对于每个结果,我都会得到一个包含a 和a 的对象。 这是预期的。问题是hibernate将产品的ID和名称分配给仓库对象的ID和名称属性。在创建Warehouse项目时,好像联接结果中的前两列已经结束了。产品对象始终包含正确的数据。 关于解决此问题的任何建
问题内容: 我有一个连接到另一个的Hibernate实体:。在数据库中,我有一列在上具有外键约束。假设我正在延迟加载,那么当我加载的实例时,我希望能够在不引起表查找的情况下进行访问。 我希望返回的代理能够完成请求,因为它已经从列中加载了孩子的ID 。但是,我在桌上看到另一个查询。 为什么需要这个额外的查询,我该如何避免呢?在这种情况下,我只对外键ID感兴趣,而不希望加载整个行。 类: 表格: 问题
问题内容: 我正在使用Hibernate 3.6和MSSQL 2012。 执行此HQL时 我正在获取此SQL 请注意 交叉连接 和where子句中的 附加条件* 。 根据Hibernate docs https://docs.jboss.org/hibernate/core/3.5/reference/en/html/queryhql.html#queryhql- joins- forms 隐式连
问题内容: 我有2张桌子说 表1和表2 现在Table1有3列,分别是t1,t2,t3,而Table2有2列t4和t5。 我必须通过联接从两个表中获取数据,但是注释或xml中的两个表之间没有映射的关联。 现在的主要问题是我必须使用hibernate投影来从两个表中获取选定的列,例如,表1中的t1,t2和表2中的t4。 我浏览了互联网,但是找到了与关联表相关的示例。 很高兴就此有任何指导。 问题答案