问题标签 [composite-id]

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 回答
446 浏览

java - 复合主键错误

我想制作一张桌子,假设桌子的名字是 Car。它将有 3 列brandIdtypeIdsizeId。我希望所有的列都是主键typeId并且sizeId是来自不同表的列。我已经尝试编写代码,但是如果我@Id为每一列使用注释,则会出现错误“未找到超类型”。

代码如下。

所以,我在谷歌搜索,发现我可以@EmbeddedId用来创建复合主键。实体的代码是这样的:

和可嵌入类:

然后,我想基于brandId. 接口代码:

不幸的是,代码是错误的:

“无法根据路径解析属性 [brandId]”。

所以我在 Entity 类中创建了 setter getter brandId:``

没有出现错误,但表的汽车数据也没有出现。

我的问题是:

  1. 接口代码是真的吗?brandId我想知道当brandId的列在课堂上时是否可以通过 找到Embeddable

  2. 实体类中的setter getterbrandId是真的吗?

谢谢!

0 投票
0 回答
48 浏览

java - @IdClass 找不到超类型

我想制作一张桌子,假设桌子的名字是 Car。它将有 3 列,brandId、typeId 和 sizeId。我希望所有的列都是主键。typeId 和 sizeId 是来自不同表的列。我已经尝试使用@IdClass 编写代码。但是,出现错误“未找到超类型”。

这是实体类:

}

这是 CarPk 类:

}

这段代码有什么问题?还是非常感谢

0 投票
1 回答
1054 浏览

hibernate - 组合 ID 的休眠条件

下面是与我面临问题的代码非常相似的相同代码

如果我将创建如下标准:-

我低于异常

org.postgresql.util.PSQLException:错误:运算符不存在:整数 = bytea

即使我创建了一个单独的类 BC,它具有 B 类和 C 类的对象,并在 A 类中使用它作为复合键。然后做了一个

还是一样的错误

任何帮助将不胜感激。

注意:-我正在为所有类进行休眠 xml 映射。



我发现的解决方案更改了 A 类,如下所示:-

0 投票
1 回答
256 浏览

hibernate - 如何获取新持久实体的复合 ID 对象?

我正在尝试获取新持久保存到数据库的对象的(可嵌入)复合 ID。我在休眠 4.3.5 中使用 mysql (myisam)。

插入操作本身成功,但是即使我刷新了对象并提交了事务,创建的 java 对象的类别 ID 也始终为空。但这仅发生在复合 ID 对象上。在单个 id 对象中,我总是得到新的 id。

我是不是忘记了什么?任何帮助表示赞赏。

先感谢您

JUnit:

类别:

类别 ID

AbstractDao 保存方法

0 投票
1 回答
476 浏览

jpa - 实现@IdClass 的问题

我正在使用 jpa 和 hibernate 作为 jpa 提供程序。

在学习了 jpa 中的复合主键概念之后,我正在尝试使用 @IdClass 注释来实现相同的概念。

我创建了一个 Project.java ,在这里我想使用 deptId 和 projectId 作为我的复合键。

所以根据互联网上提到的概念,我将 deptId 和 projectId 保存到 ProjectID.class

请看下面的 ProjectID.java

如您所见,我已经实现了 Serializable 接口、equals 和 hashcode 方法。

现在看看 Project.java

现在这是一块,我不确定。请告诉我这是否正确。

我正在使用以下类来持久化项目实体。

在执行上述代码时,我无法初始化 @Id 注释标记的字段。我收到错误为“ORA-01400:无法将 NULL 插入(“SYSTEM”。“PROJECT”。“DEPTID”)”

我需要通过 jpa 注释正确配置复合键的帮助。

问候,阿什

0 投票
3 回答
3295 浏览

java - 当嵌入式键包含 SQL Server 上的标识列时,休眠插入失败

我正在尝试使用休眠映射实体,但使用 SQL Server,我无法继续。

以下是详细信息。

SQL Server 实体

==============================

嵌入密钥

--------------------------

实体

--------------

实体管理器类

------------------------------

图书服务

------------------

问题是我不能使用序列并且通过执行这个 findBook 总是可以工作并且持久失败并出现错误。

任何帮助将不胜感激。

0 投票
1 回答
379 浏览

spring - 通过 spring rest 存储库公开复合 ID

我有一个域对象

  • ID
  • 版本

我们想在表格中显示它,所以我需要在我的休息请求中得到它。

正如建议的那样,我实施了一个

我检查了加载此 conf 的日志:

我有一个转换器来处理 URL 中的复合 ID:

但是当我在 Lot rest 资源上发出请求时,我的 ID 没有显示,例如: http://localhost:9000/lots/1_0 我怎样才能做到这一点?

0 投票
2 回答
236 浏览

foreign-keys - Fluent Nhibernate:键引用具有compositeId的实体

我在映射这些关系时遇到了 Fluent Nhibernate 的问题:

请求实体:

  • ID
  • 日期

学校单位:

  • 复合 id 由
    • 姓名
    • 要求
  • 财产

位置实体:

  • 复合 id 由
    • 存在(布尔值)
    • 学校(-> school_name 和 request_id 的外键)

基本上,这些关系代表了我向某所学校询问某个 Web api 服务的情况。我想保存请求(我在这里只放了日期,但我还有很多字段)以及为学校检索的信息。我还想将此信息与生成信息的请求绑定。我也想像以前一样保存学校位置和绑定这个信息。

到目前为止我所做的:

学校.cs:

请求.cs:

位置.cs:

学校地图.cs

请求映射.cs

位置图.cs

我还实现了从 AbstractRepository 继承的每个存储库。“保存”方法是(SchoolRepository 的示例)

这个方案行不通。如果我创建并保存(按此顺序)一个请求,然后是一所引用该请求的学校,然后是引用该学校的一个位置,我会收到“SqlParameter OutOfBound”异常。

我不知道如何映射这种关系。

在此先感谢大家。

0 投票
1 回答
927 浏览

hibernate - Spring Boot Hibernate JPA 映射复合主键给出 IllegalArgumentException: This class does not defined an IdClass

我已经为我的实体 UserActivity 配置了复合主键,如下所示,msisdn 和 extReferenceId 上有复合键。两者都在我的实体中用 @Id 注释。IdClass 是 UserActivityId 并且它也被注释如下。当我启动 Spring Boot 应用程序时,它失败并出现错误:

java.lang.IllegalArgumentException:此类 [class com.compay.ipspaymentstatus.model.UserActivity] 未定义 IdClass

但是我已经定义了我的 IdClass 并对其进行了注释。

我已经尝试过 IdClass 注释,并且还在休眠 xml 映射中提到了 IdClass,如下所示似乎没有任何效果,并说 IdClass 未定义。

用户活动.java

UserActivityId.java

用户活动.hbm.xml

启动 springboot 应用程序时收到错误