问题标签 [hibernate-xml-mapping]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
642 浏览

java - 在 Hibernate 中映射复杂的值对象

我已经在Hibernate 的论坛上问过这个问题,但我想我也会在这里问。

我正在尝试映射以下模型,同时保留TranslatedTextTranslation值对象的值语义:

在此处输入图像描述

两个值都作为依赖对象

理想情况下,我会映射TranslatedText<component>withinQuestionTranslationas <bag>of <composite-element>within TranslatedText

如果Question只引用一个TranslatedText,映射会很简单,但由于它引用两个,我需要某种基于属性名称的鉴别器,该属性包含值(titledescription),以便Translation使用由 组成的外键映射(question_id,property_name,language_code)

一个问题是它propertyName不是模型的一部分,也不应该,但我还没有找到一种方法来强制 Hibernate 插入一个不是来自模型的值。

因此,我尝试更改模型并引入专用TitleDescription类,以便我type可以在其中有一个可以用作鉴别器的方法。

在此处输入图像描述

最后,这并没有太大帮助:

翻译文本与<many-to-one>

我设法通过使用 a映射TranslatedText为实体,然后将其映射为 中的值集合,从而获得了接近我需要的东西,但是这种方法的主要问题是没有简单的方法来摆脱孤立的and 。我要么必须使用数据库触发器或计划进程来执行此操作。Question<many-to-one>TranslationTranslatedTextTranslatedTextTranslation

结论

在这一点上,我的印象是 Hibernate 不够灵活,无法使用适当的语义映射初始模型,但希望我错了,有办法做到这一点。

0 投票
0 回答
99 浏览

java - 在 Hibernate 中映射包含超类的地图集合

我正在尝试使用 XML 映射文件映射StringSuperClass的映射集合。这是我所拥有的:

SuperClass 有(目前是一个,但将来可能需要更多)一个子类,我将其称为 SubClass。所以我在地图中有一堆 SubClass 和 SuperClass 对象,当 Hibernate 在添加它们后尝试搜索它们时,我得到一个

org.hibernate.StaleStateException:批量更新从更新 [0] 返回了意外的行数;实际行数:0;预期:1

当地图中的对象实际上也有一些SubType时,我很确定 Hibernate 正在寻找SuperType类型的类。

以下是如何为层次结构完成映射的要点,以防您需要更好地表示我正在谈论的内容:

0 投票
0 回答
129 浏览

hibernate - 在 application.properties 文件中指定 @column(name=tempname)

我正在使用 spring-boot 和 hibernate。我想在 application.properties 文件或 xml 文件中外部化实体列名。就像是,

在实体类中,

在 application.properties

0 投票
1 回答
171 浏览

java - 休眠 XML 映射中实体的映射中的重复列

我一直面临“实体映射中的重复列”的问题。你能帮我在哪里做错了吗?我在下面提到了我的代码。

用户审计.hbm.xml

用户审计.java

enter code here公共类 UserAudit 实现 java.io.Serializable {

}

USERAUDITDTLS.hbm.xml

UserAuditDtls.java

主.Java

错误:

表:

USER_AUDIT_TBL

event_id - pk 用户 ID - 整数

USER_AUDIT_DTLS_TBL

event_id- fk 字段名 - varchar

0 投票
4 回答
254 浏览

java - 如何将一个对象投射到另一个对象

我是 Java 初学者,在我现有的公司应用程序中有以下 2 个 Beans/POJOS:

用户

员工

}

我想转换User为,Employee因为在应用程序中,我将在User用于持久化到databaseusing hibernate3xml 映射方法的方法之一中接收对象。HIbernate映射存在于Employee对象而不是User. 因此,我尝试使用以下概念进行转换,即 java 中的所有内容都是一个对象,但它仍然给出 RuntimeException ClassCastException

有没有其他方法可以解决这个问题?没有选项可以更改现有的类层次结构或包含任何其他继承结构。

0 投票
1 回答
129 浏览

hibernate - Hibernate XML Mapping - 当外键列名与映射表的列名不同时,它会在数据库中生成这两个列

我正在尝试使用休眠 xml 映射生成 2 个表,其中外键列名与关联表列名不同,关联表列名是关联表中的主键,我在下面解释了场景。

我正在尝试使用上面提到的休眠 xml 映射生成pim_tenantpim_workgroup表。

如果您看到owner_tenant_id是引用pim_tenant 的tenant_id列的外键,则外键列名称与主表不同(pim_workgroup --> tenant_id)

当在pim_workgroup表中创建表时,它会正确生成owner_tenant_id列作为外键,但表还有额外的新列tenant_id,不知道为什么它会在 pim_workgroup 表中生成这个额外tenant_id

如果我将列owner_tenant_id更改为tenant_id ,那么它将正确生成tenant_id 作为外键,而无需任何其他列

但根据我们的数据库设计, 我需要将此列名称作为owner_tenant_id 。

有人请帮助我,我尝试了很多方法,但没有任何效果。

0 投票
0 回答
26 浏览

java - 更新后调用删除时有时会出现 org.hibernate.StaleStateException

在单元测试用例中有时会抛出(不一致)。

正常流程是:

  1. 创造
  2. 更新
  3. 删除

执行删除操作时抛出 StaleStateException。

该实体具有具有一对多关系的子实体:

并且缓存策略是“nonstrict-read-write”

由于二级缓存,不确定其问题,因为异常不一致。如何解决这个问题以及我需要检查哪些额外的细节来解决这个问题。

0 投票
1 回答
44 浏览

spring-boot - 是否有可能通过值对象引用另一个类

如何进行从 RoomOccupancy 的stayId 到 Stay 的stayId 的多对一 xml 映射。请注意,StayId 是一个值对象,因此它不包含对 Stay 的整个引用。

如果有人可以帮助我,我会很高兴。在此先感谢您!