Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/71.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/2/spring/12.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
Mysql SpringHibernateJPA遍历所有数据库模式和所有表_Mysql_Spring_Hibernate_Jpa_Spring Boot - Fatal编程技术网

Mysql SpringHibernateJPA遍历所有数据库模式和所有表

Mysql SpringHibernateJPA遍历所有数据库模式和所有表,mysql,spring,hibernate,jpa,spring-boot,Mysql,Spring,Hibernate,Jpa,Spring Boot,我希望重用同一个实体来遍历所有模式和表。每月一个模式,每天一个表。怎么做 实际上这不是一个好的做法。如果只保留一个模式,效果会更好。您可以改进数据库设计,这样无论月份和日期是什么,我们都不需要每天创建单独的表。实际上,你想达到什么目的是个坏主意 考虑一种保持数据库设计简单的有效方法 祝你好运 正如@Subrata提到的,每天创建一个新表可能不是一个好的做法 但无论如何,如果你想这样做,我可以想到一个选项,那就是使用数据库同义词/别名:FOO将是FOO_20170306的别名,直到。。。将别名更改

我希望重用同一个实体来遍历所有模式和表。每月一个模式,每天一个表。怎么做


实际上这不是一个好的做法。如果只保留一个模式,效果会更好。您可以改进数据库设计,这样无论月份和日期是什么,我们都不需要每天创建单独的表。实际上,你想达到什么目的是个坏主意

考虑一种保持数据库设计简单的有效方法


祝你好运

正如@Subrata提到的,每天创建一个新表可能不是一个好的做法

但无论如何,如果你想这样做,我可以想到一个选项,那就是使用数据库同义词/别名:FOO将是FOO_20170306的别名,直到。。。将别名更改为指向FOO_20170307

有关详细信息,您可以查看答案:

希望这对你有用,不过还没有测试过

编辑:

下面是在hibernate中使用表同义词的一种方法:


我发现的另一个选项是为hibernate表创建自定义表:有关详细信息,请查看:

您需要浏览所有具有相同结构的表。因此,为什么不将“table_date”一个接一个地复制到另一个表“current_table”中呢。然后,在“current_table”上执行您需要的任何操作。

我正在从现有数据库中读取模式。除了阅读,我无法控制现有的模式。你想要的是切分。这已经在项目中实现了,但是由于没有跟上更新的Hibernate版本,你的理解可能会有所不同。因此,这可能取决于您使用的hibernate版本。
@Entity
@Table(name = TaxiBusiness.tableName)
public class TaxiBusiness {
    public static final String tableName = "gps_accept_order_" + 20170306;

    @Id
    @GeneratedValue(strategy = GenerationType.AUTO)
    @Column(name = "ID")
    private int ID;
    ...
}