问题标签 [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 投票
5 回答
4166 浏览

java - Hibernate: Mapping User-Friends relation in Social Networks

It's quite some time that I'm trying to figure out this problem and from googling around many people have similar problems.

I'm trying to model a User in a Social Network, using Hibernate, and what is more basic to a social network than to map a friendship relation? Every user in the system should have a list of it's friends and I thought that this might be an incredibly easy task (just use a ManyToMany relation, right?). So I went on to try the following:

The problem now is that it tells me I use ManyToMany wrongly by having no clear distinction between friend and befriended. So far so good, I get the error, but how can I do what I want?

Any idea? I've reached the end of my wisdom.

0 投票
4 回答
232 浏览

nhibernate - 有没有办法用 where 子句一对一映射?

请原谅我对这个话题的无知,因为我对 Hibernate / NHibernate 比较陌生,但我遇到了一个我无法弄清楚的映射:

这是我的数据库表的样子:

有没有办法用 where 子句一对一映射?

所以 BinContent 对象的 ItemType 可以是 VIDEO 或 CLIP。这些是作为字符串键入的,不幸的是我无法更改。

因此,如果 ItemType 字段显示“VIDEO”,我想要一个多对一“视频”对象,但是如果 ItemType 字段显示“CLIP”,我想要一个多对一剪辑.

帮助!

在这种情况下,我什至不确定是否要使用多对一。也许是一对一?

0 投票
2 回答
1573 浏览

java - hibernate:允许这种映射吗?

Foo 类没有什么特别之处,只是实现了 Serializable。

本质上,我想将整个 HashSet 序列化到数据库中。此映射可以持续存在,但是当我尝试加载它时,我在 Foo 上收到 ClassNotFoundException。

整个例外:

0 投票
1 回答
380 浏览

nhibernate - 如何从 NHibernate 中的“组名”列映射组实体类?

我的数据库中有一张表,大致如下:

现在我想将此表映射到两个实体类,如下所示:

NHibernate 有可能吗?我曾尝试搜索网络和 NH 文档,但我真的不知道要查找什么 - 搜索查询的想法将不胜感激。

也许我可以FooGroup使用自定义 HQL/SQL 查询来选择不同的组名,并使用另一个自定义查询来选择适当的包含项目集来进行映射?

0 投票
4 回答
17226 浏览

hibernate - 在 Hibernate 中使用查询映射实体

考虑表

这是sales使用查询生成的视图SELECT seller_id, SUM(amount) FROM sales GROUP BY seller_id

我想为总销售额创建一个实体,但没有 sql 端的视图。

该实体将从查询构造。我发现的最接近的是this,但我无法让它工作。

即使我定义了加载器,hibernate 也会查找实体的表,如果找不到它会给出错误。如果我创建表,它不会从我定义的命名查询中加载实体,Hibernate 会自行生成查询。

有没有办法让@Loader 工作,或者有另一种方法可以将查询映射到实体?

0 投票
2 回答
269 浏览

hibernate - 在 Hibernate 映射方面需要帮助

我正在尝试为本地解决方案创建一个仪表板,该解决方案收集应用程序服务器的本机性能相关统计信息。这是各种代理收集的数据的 DDL。为简洁起见,我跳过了几列和不相关的表格。


作为标准的一部分,仪表板应允许用户根据这些表中的任何列查看报告。所以我会根据用户的选择生成 Hibernate Criteria 查询。

当我对 POJO 进行逆向工程时,Metric 对象看起来像这样:

我想做的是将 Metric 公开为上面这些表关系的单个 POJO。所以本质上你可以通过 Metric POJO 获取服务器的名称、值、时间戳。这将简单地生成 Criteria 查询,结果集将始终是 Metric 对象的列表。

我提到了这个链接——它适用于对象之间的一对一关系。但在我的情况下,metric 与 server_metric 有一对多的关系,依此类推......我不确定我的 Metric 表的映射文件如何实现相同的

任何帮助将不胜感激......
干杯!

0 投票
2 回答
35281 浏览

hibernate - Hibernate:未映射的类关联异常

我知道这应该是一个需要解决的非常基本的问题,但是 1)我对 Hibernate 比较陌生,2)我发现的修复(似乎)不适用于这里。

这是我得到的例外:

当 Hibernate 尝试配置自身时会发生这种情况。

我正在使用的对象是用户、帖子(抽象超类)、状态和评论(帖子的具体子类)。每个都是来自两个表之一的 bean:USERS 和 POSTS。User 对象非常普通:许多描述用户的平淡无奇的字段。除了类似无聊的字段之外,状态和评论都有所有者(发布它的用户)。状态与评论的区别在于,状态可以附有评论列表但没有父级,而评论没有子帖子,但有父级(是的,这基本上是 Facebook)。

从我读过的内容来看,问题似乎出在多对一映射中,但我似乎找不到任何问题。这是我正在使用的三个配置文件。

休眠.cfg.xml:

用户.hbm.xml:

Post.hbm.xml:

我觉得我需要在某处指定一个状态包含评论的 ArrayList 的事实,但这不是通过 Post.hbm.xml 文件中的“列表”结构隐式完成的吗?

xml 文件存在于我的类路径(WEB-INF/classes)中,并且 .java 文件本身对应用程序也是可见的。见解将不胜感激!

0 投票
2 回答
2071 浏览

hibernate - Mapping a table called "group" in Hibernate for DB2 and HSQLDB

I have a table called group, that I am trying to map using hibernate for DB2 and HSQLDB. Table name group is a reserved word and it must be quoted in HSQLDB. However DB2 does not like quoted table name.

So this mapping works in HSQLDB but not in DB2:

Mapping results in following error in DB2 (making a query that involves Group table):

And this works in DB2 but not in HSQLDB:

Mapping results in following error in HSQLDB (creating the Group table):

I am using org.hibernate.dialect.DB2Dialect and org.hibernate.dialect.HSQLDialect for DB2 and HSQLDB, respectively.

How can I make the same mapping work for the both databases simultaneously?

0 投票
2 回答
493 浏览

java - 如何将多对多关联映射到映射到两个不同表的类?

我有一张 Voucher - POJO 映射到两个表。第一个映射分配实体名称“voucherA”并将 POJO 映射到 TableA。第二个映射使用“voucherB”作为实体名称并将 POJO 映射到 TableB。

现在我还有一个客户 POJO 映射到 TableC。此 POJO 引用列表中的凭证。

我如何正确映射从客户到凭证的多对多关联列表,以便如果客户 POJO 被持久化,则如果 Voucher 实体不存在,则将其持久化到 TableB,而不是 TableA?这可以做到吗?如果不是,那么将客户使用的凭证保存到 tableB 的解决方法是什么?(TableA 仅包含可用的 Vouchers,不包含已使用的 Vouchers)

0 投票
5 回答
664 浏览

nhibernate - 有没有办法为 n-hibernate 映射定义可重用属性?

我有一个场景,我想向我的实体添加一些标准属性。这意味着我将有 1 个 int 和 2 个 string 属性应用于所有相关实体。我有超过 100 个映射文件,大多数但不是全部都是这些新属性的主机。在类中很容易定义它;然而,在映射中,除了创建实用程序或 xslt 并应用它(如何在休眠映射中定义可重用 <generator> 元素)之外,我没有找到任何参考。

但是我希望能够从这个“标准”映射中添加/修改/删除属性。

thx 任何回复

Edit1:我要添加的映射示例

Edit2:我删除了接受的解决方案,因为 NH 2.1.1 XML Entities are not working (NH-1236) 并且 NH 将抛出“此 XML 文档中禁止 DTD”