1

Java 是否使用TCP连接来JPA请求数据库?例如,如果数据库服务器IP address设置为x.x.x.x:xxxx,那么什么样的代理可以处理该连接?HTTPTCP代理?

4

3 回答 3

3

JDBC 驱动程序不一定使用网络连接。例如,超音速 (HSQL) 提供不同的操作模式

如果将其配置为服务器,它将接受 TCP 连接,并且可以使用 JDBC-URL 进行访问,例如:

jdbc:hsqldb:hsql://machine/dbname

在嵌入式模式下,不需要 TCP 连接 URL 没有服务器名称(或 IP),URL 看起来像:

jdbc:hsqldb:mem:dbname

如果您使用数据库服务器,则需要使用机器名称(如果不使用默认值,则为端口号)配置 JDBC URL。不需要代理,驱动会自己建立连接。顺便提一句。HTTP 与 JDBC 无关。

于 2012-10-31T12:47:48.233 回答
1

人们对这个问题感到困惑,因为 JPA != nosql 实际上是完全不兼容的。有一些相同的东西,但 JPA 确实是为 RDBMS 设计的。

ORM下的所有java客户端都使用hector、astyanax等等等,它们都使用基于tcp的thrift。因此,您可以根据需要代理 tcp,并且可以生成自己的 thrift 库,如 astyanax 和 hector,并创建您需要的任何类型的代理。

院长

PlayOrm 开发人员

于 2012-11-01T14:47:26.610 回答
1

请参阅有关 JPA 的 Oracale 页面Java EE 6 教程

您连接到数据库的方式取决于您使用的数据库和 JDBC 驱动程序。SQLite等一些数据库不使用任何网络连接。

于 2012-10-31T12:44:27.803 回答