2012-10-31 28 views
1

Java是否使用TCP連接請求JPA數據庫?例如,如果數據庫服務器的IP address設置爲x.x.x.x:xxxx,那麼哪種代理可以處理該連接? HTTPTCP代理?與Cassandra一起使用Kundera時JPA的連接類型?

+0

你說的'proxy'是什麼意思?你的意思是'網絡代理服務器'嗎? – CAMOBAP

+0

是的,例如在我的應用程序中,我只需要定義該代理的IP地址,然後將連接傳輸到相應的數據庫服務器 – Xitrum

回答

1

請參閱Oracale pages on JPAJava EE 6 Tutorial

連接數據庫的方式取決於您使用的數據庫和JDBC驅動程序。一些數據庫如SQLite不使用任何網絡連接。

+0

hmmh,我通過Kundera方法連接到Cassandra數據庫,因此此處沒有JDBC驅動程序... – Xitrum

3

JDBC驅動程序不一定使用網絡連接。 超音速(HSQL)例如提供操作

的不同模式。如果它被配置爲服務器,將接受的TCP連接,並且可以與像一個JDBC-URL來訪問:

jdbc:hsqldb:hsql://machine/dbname 

在嵌入式操作模式有是需要的URL不會有服務器名稱(或IP)無TCP連接 的URL看起來像:

jdbc:hsqldb:mem:dbname 

如果你使用一個數據庫服務器需要配置的JDBC URL與機器名稱( PO rt號碼,如果你不使用默認值)。不需要代理,驅動程序將自行建立連接。順便說一句。 HTTP與JDBC沒有任何關係。

+0

謝謝,但我使用Cassandra,一個noSQL分貝,因此爲了連接到我的應用程序,我使用kundera,它建立在JPA之上,爲了連接到我的分貝,我的xml看起來像 並且沒有辦法改變ip值,因此我認爲如果我有一個代理來處理那個連接,那會更好。 – Xitrum

+0

@Aptos似乎你應該按照這個教程https://github.com/impetus-opensource/Kundera/wiki/Getting-Started-in-5-minutes如果你已經安裝了一臺機器上的所有東西localhost(127.0.0.1)應該是好。 – stacker

+0

=))我有多達4個數據庫服務器,127.0.0。[1,2,3,4]和kundera不支持動態創建持久單元,因此使用代理服務器是我現在唯一的選擇.. – Xitrum

1

人們對這個問題感到困惑,因爲JPA!= nosql和實際上是非常不兼容的。有些事情是一樣的,但JPA真的是用於RDBMS的。

ORM下的所有java客戶端都使用hector,astyanax等等,它們都使用基於tcp的thrift。所以你可以代理tcp,如果你喜歡,你可以生成自己的節儉庫,如astyanax和hector do,並創建任何你需要的代理類型。

院長

PlayOrm開發

相關問題