问题标签 [embeddable]

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 投票
0 回答
289 浏览

hibernate - 使用 @Embeddable 和级联保持三个级别时,在 INSERTED id 上休眠 NullPointer

我无法与@EmbeddedId在最后一个实体中使用的持久三个级别的实体进行级联合并。我有以下三个实体:
1. Voucher
2. Rate
3. RatePerChannelOverwrite

Voucher服务获取。然后我想Rate在凭证中添加新的。然后我想RatePerChannelOverwriteRate. 所以两者都RateRatePerChannelOverwrite它们@Id作为NULL。这是有效的。

但是后来我尝试RatePerChannelOverwrite分成两个班级并拥有:@Embeddable RatePerChannelOverwriteId. 这个设置失败了。被Rate引用的对象RatePerChannelOverwriteId永远不会填充其新 ID。

当我做这样的事情时,这很好用:

但是,当我将最后一个实体分成 2 个单独的类时,idinrate始终RatePerChannelOverwriteId为 NULL。不知何故,这里的级联失败了。

注意:第三个实体具有与 一样@EmbeddedId的复合键@ManyToOne,这就是问题出现的地方。

这样做是否正确?

我得到的实际异常是来自 'org.hibernate.type.descriptor.AbstractTypeDescriptor.extractHashCode(T value)' 的 NullPointer,其中 value 为 NULL,因为idinRate仍然为 NULL(尽管 SQL 跟踪显示 INSERT 是在 上执行的Rate)。

0 投票
1 回答
1213 浏览

python - 如何构建可嵌入的 Python

我想知道如何为 Windows 构建可嵌入的 Python。找不到该特定包的任何信息或构建配置。

我问的原因是我可以为 Mac 和 Linux 使用相同的变体。

0 投票
1 回答
1006 浏览

java - Java JPA。如果有几个类似的记录被 Java 解释为相同(唯一),如何从 DB 中仅选择一个特定行

我有这种情况:我将 JPA 与 Hibernate 一起使用,我想从数据库中获取一些数据。不幸的是,我有两组不同的独特约束。我的数据库表中有一个,而我的 java 实体中的另一个略有不同。我无法在 DB 中更改一个,因为我无法访问那里,我也无法在 java Entity 中更改一个,因为它可能会在我的应用程序的其他部分产生错误。

在 Oracle 数据库中,我有表Foo。在里面我有两个类似的记录:

桌子

我的 Java 实体根据参数决定记录是否唯一:

  1. 项目清单
  2. ACC_ID
  3. PLACE_ID
  4. INSTALLATION_ID
  5. DISM_DATE
  6. BOX_ID
  7. FOO_ID
  8. ACC_START_DATE

因此,在我基于 Foo Entity 执行休眠选择查询后,我只会从数据库中获取一条记录(因为 java 认为 db 中的两个 foo 是相同的)

没关系(我更喜欢一个结果),但我能以某种方式指定我最后会得到这两条记录中的哪一条吗?假设在这种情况下,我想获得一个 ACTIVITY_FLAG = 'Y' (不是表中的第一个,不是随机的,也不是最新的)。这可能吗?

现在我使用 @Embeddable 和 @IdClass 注解在 Java 代码中设置唯一参数:

Foo.java 类:

FooPK.java 类:

感谢您的任何想法!

0 投票
0 回答
58 浏览

jpa - 将 @OneToMany 从实体移动到可嵌入

这是我的第一篇文章,所以我希望我做对了。我已经搜索了两天的等效问题,但没有找到任何东西。

这是我所做的:我们有一个实体,它包含(除其他外)以下字段:

经过一年的使用我们发现,我们的实体变得太大了,我们必须使用 DTO 对象将数据传输到客户端,修改它们并将它们返回给服务器。为此,我们建模了一个可嵌入的实体组件属性。

所以现在它看起来像:

我们没有更改数据库中的任何内容。我们在为 set 文档设置值时遇到了问题。字段 keySisMf 不是问题。问题只与文档有关(我必须补充一点,FileType 只是一个基本实体,由一个 id 和几个字符串组成,所以没什么特别的)。获取值并将其传输给客户端既快速又正确。告诉服务器更改 keySisMf 不是问题。告诉服务器添加或删除 FileType 实例根本不起作用。没有错误但没有变化。

我们记录了 JPA 生成的 SQL,并且没有为 component.getComponentAttributes().setDokumentation(fileSet) 生成 SQL。

我们使用带有 ORACLE 数据库的 Glassfish 4.1.1 服务器。将文档从 Component 移动到 ComponentAttributes 时我错过了什么吗????

感谢您的帮助和耐心。

克里斯

0 投票
10 回答
21651 浏览

java - hibernate h2 可嵌入列表预期的“标识符”

我正在尝试在我的 Employee 实体中关联一个函数列表(可嵌入),而 H2 似乎对它期望一个“标识符”的说法不满意

引起:org.h2.jdbc.JdbcSQLException:SQL 语句中的语法错误“CREATE TABLE EMPLOYEE_FUNCTIONS (EMPLOYEE_EMPLOYEEID VARCHAR(255) NOT NULL, ACTIVE BOOLEAN NOT NULL, DEPARTMENTNUMBER INTEGER NOT NULL, DESCRIPTION VARCHAR(255), ORDER[*] INTEGER非空)"; 预期的“标识符”;

问题是我已经在另一个项目中做到了这一点,但我不明白为什么它不起作用。

雇员.java

函数.java

我删除了 Employee 中一些不必要的属性。什么可能导致此错误?是因为我的员工中有一个字符串作为标识符吗?如果是这样,我如何告诉 Hibernate 添加 Employee_EmployeeID 作为标识符?谢谢

0 投票
1 回答
1107 浏览

jpa - 可嵌入和基本类型的 JPA 连接类型

JPA join:可以join到Entity、Embeddable或basic类型。

从 JPA api 来看,加入 Embeddable 和 Basic 类型是合法的,但 JoinType 是什么意思?对于内连接属性“name”,如果book.name为null,查询会返回空结果吗?嵌入式类型也一样?

0 投票
1 回答
10856 浏览

javascript - 使用 React 创建一个可嵌入的小部件

我有一个使用 React 构建的小型表单组件,我想将它制作成一个可嵌入的小部件,以便在其他页面上使用。我相信我听说 Babelify 可以帮助实现这一点,但老实说,我对如何让它工作一无所知。我使用 Babelify 创建了一个表单组件的 bundle.js,但是将它粘贴到一个空白的 HTML 页面上<script src='bundle.js'></script>并没有做任何事情。很明显,我要么误解了某些东西,要么只是……完全迷失了。

0 投票
1 回答
1795 浏览

hibernate - @Embeddable 与 @ManyToOne

想象一下上课

所以我期待数据库表看起来像

  • 测试
    • ID
    • ...
    • EMBEDDED1_ID
    • EMBEDDED1_SOMEE​​NUM
    • EMBEDDED2_ID
    • EMBEDDED2_SOMEE​​NUM

但如果失败:

原因:org.hibernate.MappingException:实体映射中的重复列:ClassB 列:classB_id(应使用 insert="false" update="false" 进行映射)

版本:

休眠:5.2.12.FINAL JPA:休眠-jpa-2.1-api

0 投票
0 回答
713 浏览

java - 将列表放入 @ElementCollection (Java-Hibernate)

我正在尝试将 LinkedList 放入 @Embeddable @ElementCollection 并给我: org.hibernate.MappingException

主要的:

主要实体:

嵌入式类:

错误:

当我尝试在数据库中创建 Advertiser 对象时出现错误跳转。

0 投票
2 回答
141 浏览

java - 带有@CollectionTable 的休眠在更新时删除具有相同布尔值的集合对象

我有以下结构:

现在我添加了一个新列:publicField 也添加了equalshashCode方法。

添加以下字段(数据库字段):

我如何进行更新:

问题:

当我尝试更新 时field3field4被删除;当我尝试更新 时field1, 将field2被删除。

有人有什么建议吗?