使用Hibernate工具和Gradle的Ant任务
我想使用Hibernate和Gradle从现有数据库生成POJO。Gradle可以轻松调用Ant任务,Hibernate为反向工程数据库提供了Ant任务 我在web上找到了这个旧的Gradle任务定义,并将其修改为Gradle的最新版本,但它不起作用:使用Hibernate工具和Gradle的Ant任务,hibernate,gradle,Hibernate,Gradle,我想使用Hibernate和Gradle从现有数据库生成POJO。Gradle可以轻松调用Ant任务,Hibernate为反向工程数据库提供了Ant任务 我在web上找到了这个旧的Gradle任务定义,并将其修改为Gradle的最新版本,但它不起作用: ant { taskdef(name: 'hibernatetool', classname: 'org.hibernate.tool.ant.HibernateToolTask', classpat
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'
}
我猜您希望使用主源集中的classes output目录:
sourceSets.main.output.classesDir
如果您只使用
classesDir
,Gradle将尝试解析AntBuilder
实例上的字段。那么。。。我发现我的问题和示例gradle任务并没有解决同一个问题。hibernate hbml2ddl从实体类而不是数据库创建ddl。