JPA承诺在持久性和数据库方面与供应商无关。但是我已经知道,像hibernate这样的持久性框架并不完美(字符编码,空比较),您需要为每个数据库调整架构。因为有两层(持久性框架和数据库),所以我想它们是使用某些JPA代码的工作...

有没有人在获得多方支持方面有一些经验,如果可以,有什么技巧和建议可以避免这种不兼容?

最佳答案

在JPA级别上,您唯一可以做的就是使用当前使用的持久性库的JPA API(即,在使用hibernate时,不要使用Hibernate.initialize())。

在数据库级别,最好的选择是使事情变得简单,因为随着您离开最常见的用例,行为差异的可能性会越来越大。具体来说,这可能意味着根本不使用复合主键,不存储二进制数据,根本不使用SQL执行...我敢肯定其他人将有更多好的实践示例,可以使您轻松地从一个数据库迁移到另一个数据库。

上面的内容使我可以在PostgreSQL和Oracle之间切换一个应用程序,而在PostgreSQL和MySQL的一些“方言”(在休眠语言中)之间切换另一个应用程序。

10-02 02:40
查看更多