LoginSignup
0
0

More than 1 year has passed since last update.

動画で学ぶJHipster (5) (エンティティ生成)

Last updated at Posted at 2021-08-23

参考動画

エンティティの生成

エンティティの自動生成について、
以下は、動画のテキストに書かれている説明のgoogle翻訳。
JHipsterはいろんなものを生成してくれるようです。

作成するエンティティごとに、次のものが必要になります。
・データベーステーブル。
・Liquibaseチェンジセット。
・JPAエンティティクラス。
・SpringDataJpaRepositoryインターフェース。
・SpringMVCRestControllerクラス。
・Angularリストコンポーネント、編集コンポーネント、サービス。そして
・コンポーネントごとにいくつかのHTMLページ。

また、すべてが機能することを確認するための統合テストと、高速に実行されることを確認するためのパフォーマンステストが必要です。理想的な世界では、Angularコードの単体テストと統合テストもあります。

幸いなことに、JHipsterは、統合テストやパフォーマンステストを含め、このすべてのコードを生成できます。リレーションシップを持つエンティティがある場合は、それらをサポートするために必要なスキーマ(外部キーを使用)と、それらを管理するためのTypeScriptおよびHTMLコードが作成されます。特定のフィールドを要求するように検証を設定し、それらの長さを制御することもできます。

ツールは、コマンドラインツールの “entity” sub-generator と、ブラウザベースのJDL-Studioの2つがある。

JDL-Studioは、JHipster Domain Language(JDL)を使用してドメインモデルを定義するためのブラウザベースのツールです。

とのこと。JDLという、JHipster 独自のモデル定義言語があるようです。

JDL-Studioを使うと、エンティティのダイアグラムを表示することができます。

1.PNG

ちなみに、
今回のサンプルでは、下記のblog.jdl を使います。JDL-Studioに下記コードをコピペで張り付けたら、上記の図になります。

blog.jdl
entity Blog {
  name String required minlength(3)
  handle String required minlength(2)
}

entity Post {
  title String required
  content TextBlob required
  date Instant required
}

entity Tag {
  name String required minlength(2)
}

relationship ManyToOne {
  Blog{user(login)} to User
  Post{blog(name)} to Blog
}

relationship ManyToMany {
  Post{tag(name)} to Tag{post}
}

paginate Post, Tag with infinite-scroll

次のコマンドを実行すると、エンティティ、テスト、UIが自動生成されます。

jhipster jdl blog.jdl

途中で、src/main/webapp/i18n/en/global.jsonを上書きするように聞かれます。
2.PNG
aを入力し、このファイルも他のファイルも、すべて上書きします。

(「1分も掛からず」なんて動画では言っていましたが、自分の環境ではもう少しかかりました)

生成したエンティティ(と偽データ)を見てみる。

実行が終了したら、
mvnwでアプリケーションを再起動します。

メニューのEntityを見ると、生成されたエンティティ(Blog, Post, Tag)が表示されます。

3.PNG

また、それぞれのエンティティを見てみると、もうすでに勝手にデータが入っています(!)

Blog
4.PNG
Post
5.PNG
Tag
6.PNG

これらのデータは、偽データを作成するfaker.jsを使用して作成しているとのことです。
これは便利ですね。

各編集画面

ちなみにViewボタン、Editボタン、Deleteボタンを押したら、こんな画面が表示されます。

View画面

7.PNG

Edit画面

Create画面も同じ画面です。
8.PNG

Delete

「本当に消していいですか?」的な確認のポップアップがでます。
9.PNG

今回のコード

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0