Java JPA支持数据库-由JPA或it定义';什么取决于供应商?
我有一个简单的问题,我知道如果您只使用Java JPA支持数据库-由JPA或it定义';什么取决于供应商?,java,mysql,hibernate,jpa,Java,Mysql,Hibernate,Jpa,我有一个简单的问题,我知道如果您只使用JPA方法,您可以将数据库从MySQL更改为Derby,而不必担心更改代码 我的问题是,所有受支持的数据库都是由JPA定义的,还是由提供商来支持它们 JPA是一个规范,不提供特定数据库的实现。因此,受支持数据库的问题实际上是关于与JPA一起使用的提供者(Hibernate或EclipseLink等) 如果您使用的是Hibernate,请参阅支持的数据库。但是如果我将使用限制为仅使用JPA定义的方法,则可以在不更改代码的情况下更改提供程序。对吧?对。这是在OR
JPA
方法,您可以将数据库从MySQL
更改为Derby
,而不必担心更改代码
我的问题是,所有受支持的数据库都是由JPA定义的,还是由提供商来支持它们 JPA是一个规范,不提供特定数据库的实现。因此,受支持数据库的问题实际上是关于与JPA一起使用的提供者(Hibernate或EclipseLink等)
如果您使用的是Hibernate,请参阅支持的数据库。但是如果我将使用限制为仅使用JPA定义的方法,则可以在不更改代码的情况下更改提供程序。对吧?对。这是在ORM实现之上使用JPA的优势之一。然后,如果我想将我的数据库从MySQL更改为X,并且我当前的JPA提供程序不支持X,我可以更改为另一个支持数据库X的JPA提供程序,而无需更改代码。对的(我希望您在这里遵循了我的想法:))将需要进行配置更改以支持它。但是,同样地,您不需要重写代码来完成这项任务。