1

我想使用 Hibernate 和 Gradle 从现有数据库生成 POJO。Gradle 可以轻松调用 Ant 任务,Hibernate 有逆向工程数据库的 ant 任务。

我在网上找到了这个旧的 Gradle 任务定义,并将其修改为最新版本的 Gradle,但它不起作用:

ant { 
    taskdef(name: 'hibernatetool', 
        classname: 'org.hibernate.tool.ant.HibernateToolTask', 
        classpath: configurations.compile.asPath )
    mkdir( dir: "$buildDir/generated" ) 
    hibernatetool( destdir : "$buildDir/generated" ) { 
        annotationconfiguration( configurationfile:"$classesDir/hibernate.cfg.xml" ) 
        hbm2ddl( export: false, outputfilename: 'schema.sql' ) 
        classpath { 
            pathelement( path: classesDir ) 
        } 
    } 
} 

我得到错误:

No such property: classesDir for class: org.gradle.api.internal.project.DefaultAntBuilder 

如何修改它以从数据库生成模式文件?(我知道这不会生成 POJO,但这是第一步!)

我的依赖项如下所示:

dependencies {
    compile 'org.hibernate:hibernate-tools:4.0.0-CR1'
    testCompile group: 'junit', name: 'junit', version: '4.10'
}
4

1 回答 1

0

我的猜测是您想使用主源集中的类输出目录:

sourceSets.main.output.classesDir

如果您只使用classesDir,Gradle 将尝试解析AntBuilder实例上的字段。

于 2013-10-29T20:45:24.813 回答