Commentant la propriété spring.datasource.type
et ajoutant la propriété spring.jpa.hibernate.create-drop
a permis de résoudre ce problème. Je pense qu'une certaine configuration de jhipster remplace la configuration par défaut de spring-boot.
Voici comment je viens avec cette solution:
Lors du débogage DataSourceInitializedPublisher.publishEventIfRequired
, j'ai vu que suivant la ligne retourné une référence null
:
private void publishEventIfRequired(EntityManagerFactory entityManagerFactory) {
DataSource dataSource = findDataSource(entityManagerFactory);
...
}
Je spring.datasource.type
propriété a commenté application-dev.yml
. De cette façon, le printemps est passé automatiquement au pool de connexion Tomcat.
Ensuite, je trouve que DataSourceInitializedPublisher.isInitializingDatabase
nécessaire spring.jpa.hibernate.hbm2ddl.auto
propriété à définir dans la configuration:
private boolean isInitializingDatabase(DataSource dataSource) {
...
if (hibernate.containsKey("hibernate.hbm2ddl.auto")) {
return true;
}
return false;
}
Après avoir ajouté la propriété manquante, démarrage de printemps a commencé à exécuter le fichier data.sql
.
Mise à jour
Pour ceux qui veulent exécuter une plate-forme spécifique fichier data.sql
, comme data-h2.sql
, vous devez également ajouter la propriété suivante:
spring.datasource.platform=h2
Mise à jour
Pour ceux qui ont besoin de convertir les données Jhipster par défaut stockées dans des fichiers CSV en format sql, vous pouvez vous référer à la liste ci-dessous:
https://gist.github.com/hkarakose/cf7f1b5b241dad611ba01c0211f42108
On dirait un double de https://stackoverflow.com/questions/24508223/multiple-sql-import-files-in-spring-boot –
Eh bien, ce n'est pas exactement la réponse à ma question. Je souhaite initialiser ma base de données à l'aide de Spring ('https://docs.spring.io/spring-boot/docs/current/reference/html/howto-database-initialization.html#howto-initialize-a-database-using- printemps-jdbc'). A propos, l'auteur fait référence à la classe 'DataSourceInitializer' qui m'a aidé à trouver mon problème. – Halil