J'essaie de propager le schéma de la configuration Hibernate vers le SGBDR. Le code s'exécute sans aucun message d'erreur mais la base de données n'est pas mise à jour.Impossible de créer le schéma à partir de Hibernate
Des indices? Je vous remercie !
Mise à jour Il s'agit d'hibernate-core uniquement avec une base de données HSQL.
Mise à jour 2 Oui, je devrais utiliser SchemaExport (je ne suis pas en mode hibernation), mais il ne vide pas la base de données. C'est une base de données HSQL in-process (jdbc: hsqldb: fichier: config/config).
Mise à jour 3 Quelque chose ne fonctionne pas avec HSQL, en essayant maintenant avec MySQL et tout fonctionne bien!
public static void exportSchema() {
new SchemaExport(hbConfig).create(true, true);
}
public static void exportSchemaXXX() {
// sessionFactory and hbConfig defined in the class
Session sess = sessionFactory.openSession();
sess.doWork(new Work() {
public void execute(java.sql.Connection conn) throws SQLException {
System.err.println("work");
try {
Class dialect = Class.forName(hbConfig.getProperty("hibernate.dialect"));
String[] lines = hbConfig.generateSchemaCreationScript((Dialect) dialect.newInstance());
for (String s : lines) {
System.err.println(s);
Statement stm = conn.createStatement();
stm.execute(s);
}
} catch (Exception ex) {
System.err.println("Error: " + ex);
}
}
});
sess.flush();
sess.close();
}
Utilisez-vous hibernate seul? Ou utilisez-vous le printemps avec? – Zoidberg
Le code de votre boucle for est-il touché? –