问题标签 [hibernate-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 回答
89 浏览

hibernate - 关于hibernate映射的问题

我正在尝试使用注释设置多对多关系。这是我的实体

这是我为实体拥有的一组样本数据

如果我尝试从 PublisherBook 表中获取 Publisher 1 (id=1) 的所有书籍列表,它应该返回总共 3 本书。但是我总共得到了5本书。Book 1(id​​ = 1) 以不同的作者值(1、2、3)重复 3 次,因此 PublisherBook 列表返回

如果我从 Book 实体中删除 Set,则发布者 1 的 PublisherBook 列表将返回正确的值

有人可以告诉我我做错了什么吗?为长篇道歉。

0 投票
1 回答
84 浏览

hibernate - 休眠映射问题

我正在尝试使用一些休眠来映射一些类,并遇到了我无法找到实现解决方案的最佳方法的情况。我有三个类,即 AirTransport、TrainTransport 和 RoadTransport,它们具有正确映射的某些属性。我们必须存储这些类的 TRANSPORTTIME 条目,但不想在各自的表中存储各个类的时间条目,我们想创建一个 TRANSPORTTIME 表,我们可以在其中存储上述定义的三个类的时间相关条目。

由于这三个类是独立的,所以我很困惑如何最好地将这些类的时间条目映射到 TRANSPORTTIME 表中。我试图在三个运输类中做这样的事情

但不确定如何映射另一边的东西,即 TRANSPORT 表,这方面的任何帮助或指针都会有所帮助

0 投票
1 回答
1228 浏览

hibernate - Hibernate 映射在 Grails 中为别名为“h002-01”的列生成错误

我试图在 grails 中通过 hibernate 为在列名称中具有特殊字符的表实现映射。IE ”-”

域类中的映射

异常堆栈跟踪:

查询:您有什么想法,我该如何解决上述问题。试图逃脱它,但它也不起作用。我必须使用上述列名,因为我试图在现有数据库上开发 UI。

提前致谢 !

0 投票
2 回答
1199 浏览

java - 如何使用自定义键将 @OneToMany 映射到 java.util.Map?


我想要这个:


我不知道我想做什么是否很清楚,但这就像将一对多关系映射到一个以 B 的名称作为映射键的映射一样简单。

提前致谢, Neuquino

0 投票
3 回答
844 浏览

java - 如何使用 2 级的 @MapKey 注释?

这个问题与我提出的其他问题相似,但略有不同。

我有这个:


我想要这个:


我不知道是否清楚我想做什么,但这就像将一对多关系映射到一个 Map 一样简单,其中 C 的名称作为映射的键,b 作为值。

提前致谢, Neuquino

0 投票
1 回答
2449 浏览

java - hibernate中的循环引用问题

在学习hibernate时,我遇到了一种情况,Hibernate似乎有循环引用,我不知道如何度过这种情况。我有两个班级的父母

这是相同的映射文件

子条目如下

当我在我的主要代码中尝试这样的事情时

现在,当我尝试使用迭代器方法或任何进入无限循环的集合方法来迭代列表时,真正的问题就在这里

在我即将到来的作业中,我有一个父类,它有这么多对子类的集合引用,它们都具有多对一和一对多的关系。

因此,似乎在那种情况下,我会尝试从父实体中获取子实体,例如

它将运行到循环引用。如果我走错了路,请建议我如何避免这种情况或纠正我

0 投票
2 回答
4489 浏览

java - Hibernate 的 Delete 方法给出 StaleStateException

我正在尝试使用 Hibernate 的 delete 方法删除对象,但得到 StaleStateException 异常。我的要求是根据唯一键删除一个对象,所以为此我正在做类似的事情。

因为我知道列表中只有一个元素如果它不为空,所以只从列表中获取第一个元素(不确定这是否是一个好方法)

但是当我运行此方法时,我可以在控制台中看到以下 sql 日志

而不是它的投掷

让我怀疑的一件事是,在我的运输表中,我有三个条目,只有一个用于 AirTransport,一个用于火车,最后一个用于公路,在 TransPortTime 表中,我有三个条目,每个运输类型和

我在所有三个传输类中都使用 TransportTime 作为复合元素

我仍然无法弄清楚出了什么问题,所以尽管在社区中询问


只是为了添加一些额外的信息:我的目标类中有以下三个对应的 trabsport 类的映射

在我的 RoadTransport/Train/Air Transport 中有以下映射

其他两个映射文件也相同,因此当我从父类中删除这三个类的映射关联时,我的删除功能开始完美运行。

所以这意味着我在将 TimeTable 类映射为 Transport 类(Air/Train/Road Transport 类)中的组件时做错了

在这方面的任何建议都会很有帮助

0 投票
2 回答
6749 浏览

hibernate - 使用 delete-orphan 删除集合不适用于空赋值?:(

我在通过级联删除孤儿删除另一个实体时遇到问题。它在我清除关联的集合集合时起作用,但在我将集合集合设为空时不起作用。让我详细解释一下。配置片段:

我的示例代码:

以下工作正常,即:所有集合项都从数据库中移出。

我认为这是因为 Hibernate 的 PersistSet 在调用此方法时被标记为脏。

但是,以下内容与我想要/期望的效果不同。

如果我从数据库重新加载猫项目,它仍然包含 BLA 项目,并且 Hibernate 没有生成删除语句:(.. 为什么不??...或者这是一个错误?我使用的是 3.6.0.Final。

0 投票
1 回答
1589 浏览

hibernate - 如何将多个值类型集合映射到 Hibernate 中的一个表?

出于性能原因,我正在尝试将休眠中的许多值类型集映射到一个表。首先,我确实将它们都放在了它们自己的表中,这导致了太多的连接。

我有一个 Categories 类,其中包含许多带有一组集合的组件,然后我使用实体名称和鉴别器通过子类将它们映射到单个表。请参阅下面的映射片段。

这工作得很好,但是因为包含所有集合的单个表,当一个组件被移除时很难自动移除一个集合。这是因为它被建模为一个实体,而 Hibernate 无法发出该集合已被删除的信号。

映射细节:

用法:

发生此错误是因为 EmployerWages 不会自动删除,因为它们被标记为子类别的类别(请参阅关键列),因此当类别被删除而不是当他的组件被删除时,它们被作为孤儿删除......但是,我不能让 EmployerWages 成为 Wage 的孩子,因为 Wage 是一个组件,然后 Hibernate 抱怨......

Pffff ...很难解决这个问题。想法更受欢迎......

0 投票
1 回答
559 浏览

hibernate - 多对一问题

我现在有几个小时这个错误,我不再得到它了。这是一个带有 Spring 2.5 和 hibernate3 的项目。我也尝试在客户端对象中声明一个项目对象。

我有 2 个表:客户和项目

在 Java 代码中:

在休眠映射文件中,我有这个:

我收到这个错误:

解决这个问题的方法,现在我什至不知道这是否是声明客户和项目之间关系的正确方法。您在上面的代码中看到错误了吗?无论如何都非常感谢。