SQL Server 和 Oracle 的 JPA 实体兼容性(自动增量列问题)
我正在开发一项 Java EE JBoss 服务,该服务将部署在两种不同的环境中:一种使用 SQL Server 作为数据库,另一种使用 Oracle 10g。
我的数据库架构非常相似,只是主键列在 SQL Server 中是身份自动增量并在 Oracle 中使用序列生成。
使用 JPA,是否可以将一组实体与两个数据库一起使用?
谢谢!
I'm developing a Java EE JBoss service which will be deployed in two different environments: one using SQL Server as the database, and a different one which uses Oracle 10g.
My database schemas are very similar, except that the primary key columns are identity-auto-increment in SQL Server and generated using sequences in Oracle.
With JPA, is it possible to use a single set of entities with both DB's?
Thanks!
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
当然可以,但只需在 XML 元数据而不是注释中指定 PK 字段的生成值定义即可。使用 2 个不同的“orm.xml”文件,因此,例如,对于引用 orm-oracle.xml 的 Oracle 使用“persistenceUnitOracle”,对于引用 orm-sqlserver.xml 的 SQLServer 使用“persistenceUnitSqlServer”
Of course you can, but just specify the generated-value definition for the PK field in XML metadata rather than annotations. Use 2 different "orm.xml" files, so, for example, use "persistenceUnitOracle" for Oracle that references orm-oracle.xml, and "persistenceUnitSqlServer" for SQLServer that references orm-sqlserver.xml