Les outils Hibenate qui fonctionnent avec des plug-ins ne peuvent pas être utilisés avec des IDE autres qu'Eclipse. Il ne semble pas y avoir de bon plug-in gradle, donc j'en ai fait une tâche pour gradle.
Ajout d'outils hibernate pour graduer les dépendances Addendum: Lors de l'utilisation de Spring-Boot, slf4j est pris dans le test gradle, veuillez donc le commenter ou l'exclure.
build.gradle
testRuntime group: 'org.hibernate', name: 'hibernate-tools', version: '5.3.6.Final'
Ajoutez une tâche, changez le chemin et le package en fonction de l'environnement.
build.gradle
task hbm2java{
def basePackage = "com.hoge.entity.jpa.gen"
def resourcesDir="$projectDir/src/main/resources"
def srcDir="$projectDir/src/main/java"
def preparedJdbcConfiguration = [
propertyfile: resourcesDir+"/hibernate.properties",
revengfile: resourcesDir+"/hibernate.reveng.xml",
packagename: basePackage
]
doLast {
project.ant {
taskdef(name: "hibernatetool",
classname: "org.hibernate.tool.ant.HibernateToolTask",
classpath: configurations.testRuntime.asPath
)
hibernatetool(destdir: srcDir,
templatepath: 'templates'
) {
jdbcconfiguration(preparedJdbcConfiguration)
classpath{
pathelement( path: "config" )
}
hbm2java(jdk5: true,ejb3: true)
}
}
}
}
Placement du fichier hibernate.properties
hibernate.properties
hibernate.connection.driver_class = com.mysql.cj.jdbc.Driver
hibernate.connection.url = jdbc:mysql://localhost:3306/hoge_db?useSSL=false
hibernate.connection.username = user
hibernate.connection.password = passwd
hibernate.c3p0.min_size=5
hibernate.c3p0.max_size=20
hibernate.c3p0.timeout=1800
hibernate.c3p0.max_statements=50
hibernate.dialect = org.hibernate.dialect.MySQLDialect
Placement des fichiers d'ingénierie inverse Hibernate
xml:hibernate.reveng.xml
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE hibernate-reverse-engineering
SYSTEM "http://hibernate.org/dtd/hibernate-reverse-engineering-3.0.dtd">
<hibernate-reverse-engineering>
<schema-selection match-catalog="hoge_db" match-schema=".*" match-table="foo" />
<schema-selection match-catalog="hoge_db" match-schema=".*" match-table="bar" />
</hibernate-reverse-engineering>
Après cela, exécutez Task sur la console
$ gradle hbm2java
Spring Data JPA n'a pas de générateur d'entités. Je me demandais ce que tout le monde faisait, mais je devais juste utiliser fourmi avec gradle.
Recommended Posts