java - JPA 中另一个模式的访问序列
问题描述
我在 2 个方案中定义了“master_seq”。我在 schema_2 中有一个表,比如 table_2。Schema_1 已在 table_2 及其 master_seq 上提供插入授权。问题是,我试图从schema_1(从我正在运行的spring boot应用程序)中插入一条记录,它使用的是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;
}
我是否需要以某种方式在代码中使用另一个模式名称?但是模式名称会根据不同的环境不断变化。
提前致谢
解决方案
您可以尝试通过将模式名称附加到序列名称来访问序列:
@SequenceGenerator(name="MASTER_SEQ",sequenceName="schema_2.MASTER_SEQ",allocationSize=1)
推荐阅读
- java - 为什么java允许在匿名内部类中重新分配类级变量,而局部变量则不允许
- c# - 在公共属性上相交两个对象列表,然后比较不同的属性
- php - 为什么 $line = fgets("data/$f_handle") 不起作用
- python - 使用 VS 代码时启用/禁用扩展
- maven - 在 Jenkins 管道中使用 build-helper-plugin 增加 Maven project.version
- android - Firebase:制作多语言通知
- node.js - Express 服务器:将现有文档克隆到另一个集合中
- vb.net - 如何获取字符串中的第一个数字和第二个数字?
- python - 如何检查 post_save 中的模型字段是否已更改?
- java - 如何为具有 Java Spring 安全性的用户授予权限