2014-03-30 26 views
0

我用Roo 1.2.5的addon create wrapper命令封裝了一個現有的官方jdbc驅動程序(不,它不是Oracle DBMS)。 我已經開始與osgi startosgi ps列出它作爲運行。Spring Roo:可用於jpa setup命令的包裝數據庫驅動程序?

我想使它可用於database reverse engineer分析。但據我的理解,這意味着我需要安裝我的Roo項目jpa setup,我看不到使用此驅動程序的這個命令的方式。

如何讓我的包裝驅動程序可用於jpa設置?如何在jpa setup --database [the database reference, here]的命令行上引用它?

此處可用的選項是DATABASE_DOT_COM,DB2_400,DB2_EXPRESS_C,DERBY_CLIENT,DERBY_EMBEDDED,火鳥,GOOGLE_APP_ENGINE,H2_IN_MEMORY,HYPERSONIC_IN_MEMORY,HYPERSONIC_PERSISTENT,MSSQL,MYSQL,ORACLE,POSTGRES和SYBASE。

解決此問題的唯一方法就是安裝任何選項jpa setup supplies,然後手動更改DBMS詳細信息,但在我看來,還有另一種官方方式。

在我讀到的關於這方面的文章中,主要關於Oracle和DBRE,這個重要的步驟被忽略了,就像它是不言自明的。我不是一個新的Roo用戶,但是如何安裝Roo尚未提供的第三方數據庫驅動程序,實際上似乎很模糊。

照顧我和未來的用戶如何有效地做到這一點?如果你不知道具體如何,有些想法如何?

更新* 雖然我已經報廢了主意,因爲我突然可以自由地選擇自己的DBMS我並不需要它。不過,知道如何使用未列出的數據庫設置JPA會很好。

另一方面,如果Roo建議的選項列表實際上是提供程序支持的DBMS的完整列表,那麼當然這個知識是沒有意義的,除非在提供程序的新支持之間有一段時間 - 我的Hibernate案例 - 和現有的Roo版本。

回答

1

你一定認爲有兩種運行環境:

  1. 應用程序運行時:您剛纔提供的信息連接到Oracle。你不需要任何包裝器,只需要你的maven本地倉庫中的Oracle JDBC驅動器jar。
  2. Roo運行時:Roo在OSGi環境中運行,需要將Oracle JDBC包裝到OSGi信封中,以便它可以由Roo DBRE插件加載並使用並連接到數據庫。(使用jpa setup --database ORACLE ....
  3. 使用osgi start --file命令添加到您生成的包裝裝載到Oracle

    1. 配置在標準的方式你的JPA連接:

    所以你必須做的後續步驟,對項目運行的DBRE JDBC在OSGi環境下

  4. 使用database introspectdatabase reverse engineer(該突擊隊使用步驟#1中設置的連接配置)
+0

謝謝。但是,標準方式是不可能的,因爲這不是** Oracle數據庫。這就是爲什麼我寫了「(不是Oracle)」,因爲「這不是我連接的Oracle DBMS」。對於模糊性我感到抱歉。 – MiB

+0

試試這個:在步驟#1中選擇任何數據庫(無關緊要),然後在步驟2之前用有效的連接參數手工更新'database.properties'和'persitent.xml'文件。 Roo將使用JDBC驅動程序API分析數據庫。 – jmvivo

+0

謝謝你的建議,jmvivo。這是我用「手動更改詳細信息」的方法。雖然這可能會工作,如果提供程序支持數據庫管理系統,我想我必須在JIRA中爲「addon create wrapper」命令添加相關數據庫作爲JPA設置的選項。畢竟,如果不是爲了在Roo環境中使用它,爲什麼我應該能夠爲驅動程序創建一個OSGI包裝? – MiB

相關問題