Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/374.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 Hibernate POJO映射到可变模式_Java_Hibernate_Orm_Hibernate Mapping_Pojo - Fatal编程技术网

Java Hibernate POJO映射到可变模式

Java Hibernate POJO映射到可变模式,java,hibernate,orm,hibernate-mapping,pojo,Java,Hibernate,Orm,Hibernate Mapping,Pojo,我知道这不是一个好的实践,但数据库中有多个模式,但其中有相同的表。因此,我需要将POJO映射为可更改的模式。是否有任何可能的方法或应用程序使其成为现实 比如,;DB2013和DB2014与元数据相同。但是这些年有不同的数据。所以我的POJO表,比如说我的_表,我不想为每个DB创建新的POJO,但我想在应用程序启动之前使其可更改。所以应用程序将按模式使用 那么,针对这种需求的最佳解决方案是什么 @Entity @Table(schema = "DB2013", name = "MY_TABLE"

我知道这不是一个好的实践,但数据库中有多个模式,但其中有相同的表。因此,我需要将POJO映射为可更改的模式。是否有任何可能的方法或应用程序使其成为现实

比如,;DB2013和DB2014与元数据相同。但是这些年有不同的数据。所以我的POJO表,比如说我的_表,我不想为每个DB创建新的POJO,但我想在应用程序启动之前使其可更改。所以应用程序将按模式使用

那么,针对这种需求的最佳解决方案是什么

@Entity
@Table(schema = "DB2013", name = "MY_TABLE"
public class MyTable {
  // ...
}

若您使用XML配置,则可以在模式属性中放置占位符,并在maven编译期间替换它。我想在使用注释配置时,你也可以做类似的事情。

如果我使用default\u schema属性,它是否会将所有相同的架构名称都放在pojo SQL查询字符串中?我尝试了,但成功了,但我意识到问题并不是这样。我需要再检查一下。