Printemps De Démarrage + Ide + Base De Données Intégrée = Maux De Tête
Soit je suis en manque quelques concept de base, enfouis dans les profondeurs de la documentation (le printemps, le Printemps de Démarrage, H2, HSQLDB, Derby, IntelliJ) ou j'ai été regarder ce depuis trop longtemps.
J'ai un Ressort de Démarrage du projet. Essayé d'utiliser et d'initialisation d'un H2 DB au premier abord, essayé de vous y connecter à l'Ide, seulement pour réaliser que je ne pourrais pas être en mesure de naviguer facilement sur le db sans donner de mon premier enfant (Se connecter à H2 de la base de données à l'aide de l'Ide de base de données client).
J'ai donc déménagé à DerbyDB. Même chose - db racine du dossier est créé dans mon application, je m'y connecter à l'Ide, mais mes tables, qui ont été créés à partir de départ de l'application ne sont pas disponibles à parcourir.
J'ai même essayé de SQLite, mais le support de SQLite n'est pas aussi bon et certaines fonctions de mise à jour n'étaient pas disponibles, mais j'ai pu au moins trouver mes tables dans IntelliJ navigateur!
Je veux juste une simple et unique intégré au fichier DB pour que je puisse les utiliser, de les parcourir, et de jouer avec facilement. Des suggestions?!
Quand je lance l'application, je vois que le schéma est exporté:
2015-07-19 09:37:45.836 INFO 98608 --- [ost-startStop-1] org.hibernate.tool.hbm2ddl.SchemaExport : HHH000227: Running hbm2ddl schema export
Hibernate: drop table user_roles if exists
Hibernate: drop table users if exists
Hibernate: create table user_roles (id bigint generated by default as identity, role_name varchar(255), version bigint, user_id bigint, primary key (id))
Hibernate: create table users (id bigint generated by default as identity, email varchar(255), password varchar(255), username varchar(255), version bigint, primary key (id))
Hibernate: alter table user_roles add constraint FK_g1uebn6mqk9qiaw45vnacmyo2 foreign key (user_id) references users
2015-07-19 09:37:45.849 INFO 98608 --- [ost-startStop-1] org.hibernate.tool.hbm2ddl.SchemaExport : HHH000230: Schema export complete
Dans IntelliJ, rien (à l'aide d'une source distante de jdbc:h2:./test;AUTO_SERVER=VRAI que par heenenee suggestion):
Je vois que certains votes pour fermer parce que clairement ce que je demande:
Comment puis-je développer des applications en utilisant H2, HSQLDB, ou Derby bases de données et se connecter avec IntelliJ?
- À l'aide de
./test
que le chemin va faire 2 dbs: l'un au printemps de démarrage du projet de répertoire de travail, et de l'un à l'Ide du répertoire de travail (ou environs). Utilisation~/test
dans les deux endroits à la fois les Url de point au même emplacement sur le système de fichiers.
Vous devez vous connecter pour publier un commentaire.
H2 Automatique En Mode Mixte devrait être bon pour vous. Utilisation
jdbc:h2:~/mydbInHomeDir;AUTO_SERVER=TRUE
que votrespring.datasource.url
. Dans IntelliJ, créer un distance H2 source de données et utiliser exactement la même URL JDBC. Vous pouvez avoir explicitement appuyez sur le bouton Synchroniser dans le IntelliJ fenêtre de Base de données pour obtenir les tables de base de données à afficher.À ajouter à ce que heenenee mentionnés ci-dessus. Si vous ne spécifiez AUTO_SERVER une seule connexion ne sera autorisé à votre H2 instance.
Je suis à l'aide de spring-boot avec spring-data-jpa. Assurez-vous que vous avez @Entité déclarée pour vos entités qui représentent chaque table(s).
La suite de ma demande.yml /de l'application.propriétés
De démarrer votre application et de l'importation des données. Printemps de démarrage importera automatiquement vos données si vous avez d'importation.sql dans le classpath
ex: /src/main/resources/importer.sql
Vous configurer l'Ide, comme
Si vous n'êtes pas à l'aide de l'Ide, télécharger le client/serveur de combo @
http://www.h2database.com/html/download.html extrait et démarrer le client basé sur un navigateur à l'aide de:
Se connecter à votre base de données embarquée par spécifier la chaîne de connexion:
Si vous suivez les étapes décrites dans cet article: https://techdev.io/en/developer-blog/querying-the-embedded-h2-database-of-a-spring-boot-application
Je pense qu'il va fournir de l'aide dans l'obtention d'un Printemps de l'application de Démarrage avec H2 base de données en mémoire exposés par l'intermédiaire d'un serveur tcp tels que vous pouvez utiliser l'Ide de base de données client pour se connecter à elle.
J'ai eu le même problème. Elle était due à la valeur par défaut
create-drop
ddl stratégie de la mise en veille prolongée.Avec cette stratégie, après l'application de l'arrêt hibernate détruit le schéma à la fin de la session, c'est pourquoi l'Ide ne pas montrer quoi que ce soit. Changement ddl de la stratégie à la
create
et hibernate va créer le schéma et de détruire les données sur le prochain démarrage de l'application.Voici un exemple de ma configuration:
application.yml
IntelliJ propriétés de base de données
Résultat