Gradle 在jOOQ中使用SSH隧道

Gradle 在jOOQ中使用SSH隧道,gradle,jooq,ssh-tunnel,Gradle,Jooq,Ssh Tunnel,我在项目中通过Gradle配置jOOQ,需要开始通过SSH隧道连接到数据库。我找不到任何关于如何开始的文档。我当前的配置(没有隧道)如下所示: task generateJooq << { def writer = new StringWriter() new MarkupBuilder(writer).configuration('xmlns': 'http://www.jooq.org/xsd/jooq-codegen-3.9.0.xsd') {

我在项目中通过Gradle配置jOOQ,需要开始通过SSH隧道连接到数据库。我找不到任何关于如何开始的文档。我当前的配置(没有隧道)如下所示:

task generateJooq << {
    def writer = new StringWriter()
    new MarkupBuilder(writer).configuration('xmlns': 'http://www.jooq.org/xsd/jooq-codegen-3.9.0.xsd') {
        jdbc() {
            driver('org.postgresql.Driver')
            url(props.getProperty('datasource.url')) // From a properties file
            user(props.getProperty('datasource.user')) // From a properties file
            password(props.getProperty('datasource.pass')) // From a properties file
        }
        generator() {
            database() {
                inputSchema('public')
            }
            generate() {
                pojos(true)
                daos(true)
            }
            target() {
                packageName('com.foo.bar.model.dao')
                directory(Paths.get(project.projectDir.toString(), 'src/main/java'))
            }
        }
    }

    GenerationTool.generate(
            JAXB.unmarshal(new StringReader(writer.toString()), org.jooq.util.jaxb.Configuration.class)
    )
}

task generateJooqjOOQ的代码生成器配置在JDBC已经提供的现成配置之上没有提供很多东西。因此,标准的方法是提供一个JDBCURL、用户名、密码以及一些可选的属性

如果您已经有一个JDBC
连接
(这是通过SSH隧道构建的,具体取决于您的意思),您还可以将其传递给
生成工具
。将您的
GenerationTool
调用替换为:

GenerationTool=newgenerationtool();
工具设置连接(连接);
工具。生成(配置);//你的JAXB呼叫在这里。。。

您遇到了什么问题?@LukasEder,我知道如何告诉jOOQ直接连接到数据库,但我不知道如何将其设置为使用SSH隧道。因此,我正在寻找一种通过使用代理/SSH隧道服务器连接到数据库的配置。