小编Mit*_*ent的帖子

如何使用JPA和Hibernate复制INSERT/UPDATE/DELETE语句

我想以一种可以为我的系统恢复的方式重命名PostgreSQL(9.6)表(一个使用JPA/Hibernate的Java应用程序)

在我的java代码中,JPA实体将具有以下注释@Entity @Table(name="old_name"),并且数据库将具有名为的等效表old_name.

我想以new_name一种我可以逐步更新数据库和Java应用程序的方式重命名表,允许失败和回滚.

典型的步骤是

  1. 创建的副本old_namenew_name
  2. 确保两者都可用的读/写(即数据以双向方式复制)
  3. 更新java应用程序以使用新表 new_name
  4. 确保系统更新完成后,删除 old_name

实际上,我希望在同一模式中具有相同数据的重复表,它们都能够接受读取和写入,可以从JPA实体读取.

我知道触发器的使用,并希望避免这种情况.我希望有一种我不知道的技术,并且没有发现这会比使用触发器减少痛苦.

我试图重命名表并在其上创建一个"简单视图",但是JPA实体抱怨因为它找不到具有视图名称的表.(因为它是一个视图,而不是一个表:)并且似乎没有@View/@Table JPA注释将处理这个)

我还没有尝试过这里列出的设施:http://wiki.postgresql.org/wiki/Replication,_Clustering,_and_Connection_Pooling,因为大多数似乎是关于池,分片,我需要一个简单的短期表复制品,但是我也会调查这些.

谢谢 - 我当然希望最简单的选择,更喜欢内置于postgres/JPA的内容,但也会认真考虑第三方选项.

java postgresql replication hibernate jpa

4
推荐指数
1
解决办法
1118
查看次数

使用 MERGE 进行增量插入

我有一个场景,目标表的一列需要自动递增。我没有在此列上启用身份。所以我需要选择最后一个数字并在每次插入时加 1。

http://sqlfiddle.com/#!6/61eb4/5

小提琴链接中给出了类似的场景。我不希望插入 ProductChanges 表的 productid。相反,我需要选择最后一个 id,我需要为每个新行增加和插入它

sql sql-server merge sql-server-2012

1
推荐指数
1
解决办法
5955
查看次数