Spring Roo:可用于jpa setup命令的包装数据库驱动程序



我用Roo 1.2.5的addon create wrapper命令包装了一个现有的官方jdbc驱动程序(不,它不是Oracle DBMS(。我已经用osgi启动了它,osgi ps将它列为正在运行。

我想让它可以用于数据库逆向工程分析。但据我所知,这意味着我需要用jpa设置来设置我的Roo项目,我看不出用这个命令来使用这个驱动程序的方法。

如何使我的打包驱动程序可用于jpa设置?如何在jpa setup --database [the database reference, here]的命令行中引用它?

此处可用的选项包括DATABASE_DOT_COM、DB2_400、DB2_EXPRESS_C、DERBY_CLIENT、DERBY_EMBEDED、FIREBRD、GOOGLE_APP_ENGINE、H2_IN_MEMORY、HYPERSONIC_IN_MEMORY、HYPERSONIC _PERSISTENT、MSSQL、MYSQL、ORACLE、POSTGRES和SYBASE。

我目前在这里看到的解决这个问题的唯一方法是安装jpa setup提供的任何选项,然后手动更改DBMS的详细信息,但在我看来还有另一种官方方法。

在我读过的关于这一点的文章中,主要是关于Oracle和DBRE的,这一重要步骤被忽略了,就像它不言自明一样。我不是Roo的新用户,但如何安装Roo尚未提供的第三方数据库驱动程序,实际上似乎相当模糊。

想启发我和未来的用户如何有效地做到这一点吗?如果你不知道具体是怎么做的,那么一些想法怎么样?

更新* 虽然我放弃了这个想法,因为我突然可以自由选择自己的DBMS,但我不需要它。不过,如果知道如何使用未列出的数据库设置JPA,那就太好了。

另一方面,如果Roo建议的选项列表实际上是提供者支持的DBMS的完整列表,那么这些知识当然是没有意义的,除非提供者的新支持(在我的情况下是Hibernate(和现有的Roo版本之间有一段时间。

您必须考虑两个运行时环境:

  1. 应用程序运行时:您只需提供连接到Oracle的信息。您不需要任何包装器,只需要在您的maven本地repo中安装OracleJDBC驱动程序jar即可
  2. Roo运行时:Roo运行在OSGi环境中,需要将OracleJDBC封装在OSGi信封中,这样它就可以由Roo-DBRE插件加载和使用,并连接到DB

因此,您必须执行以下步骤才能在您的项目上运行DBRE:

  1. 以标准方式配置jpa连接(使用jpa setup --database ORACLE ....(
  2. 对生成的包装器使用osgi start --file命令在OSGi环境中加载OracleJDBC
  3. 使用database introspectdatabase reverse engineer(此突击队使用步骤#1中设置的连接配置(

最新更新