java – 在使用JPA时如何在部署时为序列设置模式名称?
|
出于安全原因,我们的oracle db对象通常属于与登录用户不同的模式.例如.表位于xx_core中,我们登录的用户是xx_app_yy. 然后在xx_schema_orm.xml中我可以定义对象拥有模式,例如:
这适用于表格,但我找不到序列的等价物.它尝试使用没有模式名称的序列,然后我得到一个例外:
2010-10-14 03:04:05,423:DEBUG could not get next sequence value [select xx_SEQ.nextval from dual] - org.hibernate.util.JDBCExceptionReporter
java.sql.SQLException: ORA-02289: sequence does not exist
at oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java:145)
我试图将模式名称设置为xx_schema_orm.xml中生成器的序列名称的一部分,但无法使其工作,例如:
我可以尝试的解决方法: >为用户架构中的序列创建数据库SYNONYM. > @SequenceGenerator注释和等效序列生成器元素允许指定模式(和目录)名称. 但这不适用于JPA 1.0. 我将引用有关模式子元素的部分来说明差异(其他相关部分在下面的参考文献中提到).从JPA 2.0规范:
从JPA 1.0规范:
因此,除非您的提供商提供某些特定扩展,否则我的建议如下: >如果可能的话升级到JPA 2.0并使用模式子元素可以实现或 参考 > JPA 1.0规范 >第9.1.37节“SequenceGenerator注释” > JPA 2.0规范 >第11.1.44节“SequenceGenerator注释” (编辑:安卓应用网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
- Spring定时任务中@PostConstruct被多次执行异常的分析与解决
- java – 如何将JAR依赖项包含到AAR库中
- 获取Android activity上所有的控件
- Laravel Mix是否支持ES8?
- java – G1 gc上的“Ext Root Scanning”的文档/代码/详细解
- spring boot devtools在Idea中实现热部署方法
- java – IllegalArgumentException readExceptionFromParce
- java – Spring @Transactional提交失败; Deby Eclipselink
- java – 为什么SAXParser在抛出事件之前读取了这么多?
- 浅谈Java中Unicode的编码和实现
