代码之家  ›  专栏  ›  技术社区  ›  rishi

JPA中另一模式的访问序列

  •  0
  • rishi  · 技术社区  · 6 年前

    我有2个方案中定义的“主序列”。我在模式2中有一个表,比如表2。模式1已在表2及其主序列上提供insert grant。问题是,我试图从schema_1(我正在运行的spring boot应用程序)在表2中插入一条记录,它使用schema_1的master seq,而我希望它应该使用schema_2的master seq。

    简而言之,我想使用表所在模式的master_-seq。

    下面是代码示例:

        @Id
        @GeneratedValue(strategy=GenerationType.SEQUENCE, generator="MASTER_SEQ")
    
    
    @SequenceGenerator(name="MASTER_SEQ",sequenceName="MASTER_SEQ",allocationSize=1)
                public Long getId() {
                    return id;
                }
    

    我需要在代码中使用另一个模式名吗?但是模式名会随着环境的不同而不断变化。

    提前谢谢

    1 回复  |  直到 6 年前
        1
  •  0
  •   codeLover Sumit Tyagi    6 年前

    您可以尝试通过将架构名称附加到序列名称来访问序列:

    @SequenceGenerator(name="MASTER_SEQ",sequenceName="schema_2.MASTER_SEQ",allocationSize=1)