小编典典

使用Hibernate通过SSH隧道获取数据

hibernate

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


阅读 302

收藏
2020-06-20

共1个答案

小编典典

也许使用Jsch一些示例可以为您提供解决之道。

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

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东西!

2020-06-20