いくつかのドキュメント(Spring、Spring Boot、H2、HSQLDB、Derby、IntelliJ)の奥深くに埋もれているコアコンセプトが欠けているか、これを見つめすぎていました。
Spring Bootプロジェクトが進行中です。最初にH2 DBを使用して初期化しようとしましたが、IntelliJでそれに接続しようとしましたが、最初の子をあきらめないとDBを簡単に参照できない場合があることを理解しました( IntelliJデータベースクライアントを使用してH2データベースに接続します )。
そこで私はDerbyDBに移動しました。同じこと-私のアプリでdbルートフォルダーが作成され、IntelliJでそれに接続しますが、アプリの起動から作成されたばかりの私のテーブルは参照できません。
私はSQLiteを試しましたが、SQLiteのサポートはそれほど良くなく、特定の更新機能が利用できませんでしたが、IntelliJブラウザーで少なくとも私のテーブルを見つけることができました!
簡単に使用、閲覧、操作できるシンプルな単一ファイル埋め込みDBが必要です。助言がありますか?!
アプリケーションを実行すると、スキーマがエクスポートされていることがわかります。
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
IntelliJでは、何もありません(heeneneeの提案に従って、jdbc:h2:./ test; AUTO_SERVER = TRUEのリモートソースを使用):
私が何を求めているのかが不明確なため、いくつかの投票が終了するのを見ます。
H2、HSQLDB、またはDerbyデータベースを使用してアプリケーションを開発し、IntelliJでそれらに接続するにはどうすればよいですか?
H2自動混合モード で十分です。使用する jdbc:h2:~/mydbInHomeDir;AUTO_SERVER=TRUE
としてあなたのspring.datasource.url
。 IntelliJで、remoteH2データソースを作成し、まったく同じJDBC URLを使用します。データベーステーブルを表示するには、IntelliJデータベースウィンドウの[同期]ボタンを明示的に押す必要がある場合があります。
上記のheeneneeに追加します。 AUTO_SERVERを指定しない場合、H2インスタンスへの接続は1つだけ許可されます。
Spring-data-jpaでspring-bootを使用しています。各テーブルを表すエンティティに対して@Entityが宣言されていることを確認してください。
以下は私のapplication.yml/application.propertiesです
spring.datasource.url:
jdbc:h2:file:/Users/blah[![enter image description here][1]][1]/db/vlad4;AUTO_SERVER=TRUE
spring.datasource.username: sa
spring.datasource.password:
spring:
jpa:
hibernate:
ddl-auto: create #will create schema based on entities
show-sql: true
アプリケーションを起動し、データをインポートします。クラスパスにimport.sqlがある場合、Spring Bootは自動的にデータをインポートします。例:/src/main/resources/import.sql
IntelliJを使用していない場合は、サーバー/クライアントコンボ@ http://www.h2database.com/html/download.html をダウンロードして、次のコマンドを使用してブラウザーベースのクライアントを起動します。
h2/bin: Java -cp h2*.jar org.h2.tools.Server
この記事の手順に従う場合: https://techdev.io/en/developer-blog/querying-the-embedded-h2-database-of-a-spring-boot-application
IntelliJデータベースクライアントを使用して接続できるように、TCPサーバー経由で公開されたH2インメモリデータベースを備えたSpring Bootアプリケーションを取得するのに役立つと思います。