问题标签 [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.
hibernate - 使用 @Embeddable 和级联保持三个级别时,在 INSERTED id 上休眠 NullPointer
我无法与@EmbeddedId
在最后一个实体中使用的持久三个级别的实体进行级联合并。我有以下三个实体:
1. Voucher
2. Rate
3. RatePerChannelOverwrite
由Voucher
服务获取。然后我想Rate
在凭证中添加新的。然后我想RatePerChannelOverwrite
在Rate
. 所以两者都Rate
将RatePerChannelOverwrite
它们@Id
作为NULL。这是有效的。
但是后来我尝试RatePerChannelOverwrite
分成两个班级并拥有:@Embeddable RatePerChannelOverwriteId
. 这个设置失败了。被Rate
引用的对象RatePerChannelOverwriteId
永远不会填充其新 ID。
当我做这样的事情时,这很好用:
但是,当我将最后一个实体分成 2 个单独的类时,id
inrate
始终RatePerChannelOverwriteId
为 NULL。不知何故,这里的级联失败了。
注意:第三个实体具有与 一样@EmbeddedId
的复合键@ManyToOne
,这就是问题出现的地方。
这样做是否正确?
我得到的实际异常是来自 'org.hibernate.type.descriptor.AbstractTypeDescriptor.extractHashCode(T value)' 的 NullPointer,其中 value 为 NULL,因为id
inRate
仍然为 NULL(尽管 SQL 跟踪显示 INSERT 是在 上执行的Rate
)。
python - 如何构建可嵌入的 Python
我想知道如何为 Windows 构建可嵌入的 Python。找不到该特定包的任何信息或构建配置。
我问的原因是我可以为 Mac 和 Linux 使用相同的变体。
java - Java JPA。如果有几个类似的记录被 Java 解释为相同(唯一),如何从 DB 中仅选择一个特定行
我有这种情况:我将 JPA 与 Hibernate 一起使用,我想从数据库中获取一些数据。不幸的是,我有两组不同的独特约束。我的数据库表中有一个,而我的 java 实体中的另一个略有不同。我无法在 DB 中更改一个,因为我无法访问那里,我也无法在 java Entity 中更改一个,因为它可能会在我的应用程序的其他部分产生错误。
在 Oracle 数据库中,我有表Foo。在里面我有两个类似的记录:
我的 Java 实体根据参数决定记录是否唯一:
- 项目清单
- ACC_ID
- PLACE_ID
- INSTALLATION_ID
- DISM_DATE
- BOX_ID
- FOO_ID
- ACC_START_DATE
因此,在我基于 Foo Entity 执行休眠选择查询后,我只会从数据库中获取一条记录(因为 java 认为 db 中的两个 foo 是相同的)
没关系(我更喜欢一个结果),但我能以某种方式指定我最后会得到这两条记录中的哪一条吗?假设在这种情况下,我想获得一个 ACTIVITY_FLAG = 'Y' (不是表中的第一个,不是随机的,也不是最新的)。这可能吗?
现在我使用 @Embeddable 和 @IdClass 注解在 Java 代码中设置唯一参数:
Foo.java 类:
FooPK.java 类:
感谢您的任何想法!
jpa - 将 @OneToMany 从实体移动到可嵌入
这是我的第一篇文章,所以我希望我做对了。我已经搜索了两天的等效问题,但没有找到任何东西。
这是我所做的:我们有一个实体,它包含(除其他外)以下字段:
经过一年的使用我们发现,我们的实体变得太大了,我们必须使用 DTO 对象将数据传输到客户端,修改它们并将它们返回给服务器。为此,我们建模了一个可嵌入的实体组件属性。
所以现在它看起来像:
我们没有更改数据库中的任何内容。我们在为 set 文档设置值时遇到了问题。字段 keySisMf 不是问题。问题只与文档有关(我必须补充一点,FileType 只是一个基本实体,由一个 id 和几个字符串组成,所以没什么特别的)。获取值并将其传输给客户端既快速又正确。告诉服务器更改 keySisMf 不是问题。告诉服务器添加或删除 FileType 实例根本不起作用。没有错误但没有变化。
我们记录了 JPA 生成的 SQL,并且没有为 component.getComponentAttributes().setDokumentation(fileSet) 生成 SQL。
我们使用带有 ORACLE 数据库的 Glassfish 4.1.1 服务器。将文档从 Component 移动到 ComponentAttributes 时我错过了什么吗????
感谢您的帮助和耐心。
克里斯
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 作为标识符?谢谢
jpa - 可嵌入和基本类型的 JPA 连接类型
JPA join:可以join到Entity、Embeddable或basic类型。
从 JPA api 来看,加入 Embeddable 和 Basic 类型是合法的,但 JoinType 是什么意思?对于内连接属性“name”,如果book.name为null,查询会返回空结果吗?嵌入式类型也一样?
javascript - 使用 React 创建一个可嵌入的小部件
我有一个使用 React 构建的小型表单组件,我想将它制作成一个可嵌入的小部件,以便在其他页面上使用。我相信我听说 Babelify 可以帮助实现这一点,但老实说,我对如何让它工作一无所知。我使用 Babelify 创建了一个表单组件的 bundle.js,但是将它粘贴到一个空白的 HTML 页面上<script src='bundle.js'></script>
并没有做任何事情。很明显,我要么误解了某些东西,要么只是……完全迷失了。
hibernate - @Embeddable 与 @ManyToOne
想象一下上课
所以我期待数据库表看起来像
- 测试
- ID
- ...
- EMBEDDED1_ID
- EMBEDDED1_SOMEENUM
- EMBEDDED2_ID
- EMBEDDED2_SOMEENUM
但如果失败:
原因:org.hibernate.MappingException:实体映射中的重复列:ClassB 列:classB_id(应使用 insert="false" update="false" 进行映射)
版本:
休眠:5.2.12.FINAL JPA:休眠-jpa-2.1-api
java - 将列表放入 @ElementCollection (Java-Hibernate)
我正在尝试将 LinkedList 放入 @Embeddable @ElementCollection 并给我: org.hibernate.MappingException
主要的:
主要实体:
嵌入式类:
错误:
当我尝试在数据库中创建 Advertiser 对象时出现错误跳转。
java - 带有@CollectionTable 的休眠在更新时删除具有相同布尔值的集合对象
我有以下结构:
现在我添加了一个新列:publicField
也添加了equals
和hashCode
方法。
添加以下字段(数据库字段):
我如何进行更新:
问题:
当我尝试更新 时field3
,field4
被删除;当我尝试更新 时field1
, 将field2
被删除。
有人有什么建议吗?