5

我最近开始学习 Hibernate 技术,不得不使用 Hibernate 从数据库中获取数据。问题是我只能通过 SSH 隧道连接到数据库。我可以在hibernate.cfg.xml文件中使用任何属性来解决此问题吗?或者您可以提出另一种新手可以理解的方式。

4

1 回答 1

5

也许使用Jsch一些例子可以给你一个方法。

另一种方法可能是实现您自己的 SSH SocketFactory,可能使用 http 代理处理程序和端口转发的东西。起点可以是:

SSHSocketFactory fact = new SSHSocketFactory(sshHost, sshPort, new SSHPasswordAuthenticator(sshUser, sshPassword));

sock = fact.createSocket(host, port);

您可以将您的实现与hibernate.cfg.xml文件中的以下参数链接起来:

hibernate.connection.socketFactory=com.mysql.jdbc.NamedPipeSocketFactory

或者也许就像他们在这里这里的方式(后者是更好的方式)。

好 ssh 的东西!

于 2012-09-07T14:18:36.007 回答