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.
-
Can you build a simple JDBC connection through this SSH tunnel? What DB do you use?user647772– user6477722012-09-07 11:33:03 +00:00Commented Sep 7, 2012 at 11:33
-
@Tichodroma , previosly I tried to connect to this MySQL database only manually, using MySQL clients...Victoria– Victoria2012-09-07 11:44:00 +00:00Commented Sep 7, 2012 at 11:44
Add a comment
|
1 Answer
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!
1 Comment
sampopes
shared link(latter one) doesn't work anymore.