我在2个方案中定义了“ master_seq”。我在schema_2中有一个表,说table_2。已向Schema_1提供对table_2及其master_seq的插入许可。问题是,我正在尝试从schema_1(正在运行的Spring Boot应用程序)的table_1中插入一条记录,并且它正在使用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;
}
我是否需要以某种方式在代码中使用另一个架构名称?但是架构名称会根据不同的环境不断变化。
预先感谢
答案 0 :(得分:0)
您可以尝试通过将模式名称附加到序列名称来访问序列:
@SequenceGenerator(name="MASTER_SEQ",sequenceName="schema_2.MASTER_SEQ",allocationSize=1)