使用Hibernate通过SSH隧道获取数据 [英] Getting data through an SSH tunnel using Hibernate

查看:179
本文介绍了使用Hibernate通过SSH隧道获取数据的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

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

//www.jcraft.com/jsch/rel =nofollow> Jsch 。 一些例子可能会给你一条路。

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

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

sock = fact.createSocket(host,port);

您可以将您的实现与 hibernate.cfg中的以下参数关联.xml file:

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

或者像他们一样此处这里(后者是更好的方式)



良好的ssh文件!

I recently started to learn Hibernate technology and have to get data from a database using Hibernate. The problem is that I can connect to the database only via an SSH tunnel. Are there any properties which I can use in the hibernate.cfg.xml file to solve this problem? Or may be you can suggest another way which will be understandable to a newbie.

解决方案

Maybe using Jsch. Some examples could give you a way to go.

Another way could be implementing your own SSH SocketFactory, maybe with http proxy handler and port forwarding stuff. A starting point could be:

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

sock = fact.createSocket(host, port);

And you could link your implementation with the following parameter inside your hibernate.cfg.xml file:

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

Or maybe like the way they do here or here (the latter is the better way to go).

Good ssh stuff!

这篇关于使用Hibernate通过SSH隧道获取数据的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆