Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/398.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/81.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java JPA:一个表包含两个不同的数据库_Java_Sql_Jpa_Kundera - Fatal编程技术网

Java JPA:一个表包含两个不同的数据库

Java JPA:一个表包含两个不同的数据库,java,sql,jpa,kundera,Java,Sql,Jpa,Kundera,我想将我的表存储在两个不同的数据库中(例如:HyperSQL和MYSQL),但我不能像这样复制表注释: @Entity(name="users") @Table(name = "users", schema = "Users@HyperSQL_pu") @Table(name = "users", schema = "Users@Mysql_pu") public class UserEntitie implements Serializable {} 你知道吗,在不复制bean类的情况下如何

我想将我的表存储在两个不同的数据库中(例如:HyperSQL和MYSQL),但我不能像这样复制表注释:

@Entity(name="users")
@Table(name = "users", schema = "Users@HyperSQL_pu")
@Table(name = "users", schema = "Users@Mysql_pu")
public class UserEntitie implements Serializable {}

你知道吗,在不复制bean类的情况下如何做到这一点?这就是为什么有些人建议不要将模式信息放入注释中。使用
orm.xml
指定架构信息(架构名称、表名、列名等),并为系统部署到的每个数据存储区设置一个
orm.xml
。显然,这意味着每个数据存储一个EntityManagerFactory;不能使用同一EntityManagerFactory将一个类持久化到多个数据存储中


使用注释只能指定一次,并且必须手动编辑java文件才能重新部署。

这就是为什么有些人建议不要将架构信息放入注释中。使用
orm.xml
指定架构信息(架构名称、表名、列名等),并为系统部署到的每个数据存储区设置一个
orm.xml
。显然,这意味着每个数据存储一个EntityManagerFactory;不能使用同一EntityManagerFactory将一个类持久化到多个数据存储中


使用注释,您只能指定一次内容,并且必须手动编辑java文件以重新部署。

可能无法使用orm.xml,因为我将昆德拉作为一个框架,而不是hibernate,请看:如果您的JPA提供商声称符合JPA(他们确实这样做),那么它应该支持orm.xml。因为您的提供者似乎不支持orm.xml(基本功能),所以它应该删除所有关于符合JPA的声明(这样就不会浪费用户时间)。也许告诉他们这些。JPA从JPA1开始就有了orm.xml@比利弗罗斯特,你为什么不告诉我们。我是昆德拉开发者。您在哪里读到compliant的意思是“支持所有功能”?昆德拉节省了用户的时间。检查一下,我想你可以清楚地看到观星者、观察者等的数量ツ 你为什么不在你的项目网站上明确说明支持的和不支持的功能,这样用户就可以很容易地看到他们的项目是否可以完全移植到其他jPA供应商那里?你为什么不告诉你的用户你为什么没有这么做?说得好,比利。我们可以在project wiki中添加受支持的功能列表。可能不可能使用orm.xml,因为我将昆德拉作为一个框架,而不是hibernate,请看:如果您的JPA提供商声称符合JPA(他们确实如此),那么它应该支持orm.xml。因为您的提供者似乎不支持orm.xml(基本功能),所以它应该删除所有关于符合JPA的声明(这样就不会浪费用户时间)。也许告诉他们这些。JPA从JPA1开始就有了orm.xml@比利弗罗斯特,你为什么不告诉我们。我是昆德拉开发者。您在哪里读到compliant的意思是“支持所有功能”?昆德拉节省了用户的时间。检查一下,我想你可以清楚地看到观星者、观察者等的数量ツ 你为什么不在你的项目网站上明确说明支持的和不支持的功能,这样用户就可以很容易地看到他们的项目是否可以完全移植到其他jPA供应商那里?你为什么不告诉你的用户你为什么没有这么做?说得好,比利。我们可以在project wiki中添加支持的功能列表。