0

我想使用 eclipselink 对我的数据库进行分区。出于性能原因,我将一张表(实体 A)复制到所有节点,一张表(实体 B)在所有节点上进行哈希分区。

由于每个 A 都与 B 实体具有一对一的关系,因此 eclipseLink 在“A”表的列上创建了一个外键约束。由于不同的分区机制,对于 A 中的许多条目,此约束将失败。

目前实体的属性可以每天更改,所以我不想错过用于测试和开发的 ddl-generation。

是否可以告诉 eclipse 链接不要创建这个特定的外键?所有外键?

当前的测试数据库是内存中的 hsqldb。是否可以告诉数据库忽略外键约束?

4

2 回答 2

1

您可以使用自己的 DDL 脚本来创建表,或者使用自己的脚本或本机 SQL 查询删除约束。

您可以通过子类化您的数据库平台类(并将“eclipselink.target-database”与您的子类一起使用)来禁用所有约束。

于 2012-09-24T14:13:16.817 回答
0

如果没有外键,就没有关系。

b或者,您可以在类A中标记该属性,transient使其不受 JPA 管理。这意味着您必须自己检索适当的b值。

此外,您可以尝试使字段可为b空(如果 JPA 支持关系,我不确定)并检查会发生什么。null=trueOne-to-One

于 2012-09-20T20:50:48.617 回答