Kotlin JPAの使用


Entityの作成


データクラスバー


kotlinにはdata classがあります.これを使用すると、toString()equals()hashCode()が自動的に生成されます.

entityクラスでは、データクラスの使用は推奨されません。


コリンはすべての等級をfinalと発表した.ただし、entityはfinalを推奨しません.なぜなら、finalでは、遅延ロード用のプロキシオブジェクトが無効になります.
entityをfinalでない形式で宣言するには、openを使用して宣言する必要があります.data classにはopenキーワードは含まれません.したがって、entityクラスは、通常classと宣言する必要があります.

All Openプラグイン


entityクラスにopenを繰り返し追加するのに便利なプラグインが提供されています.
plugin {
    kotlin("plugin.allopen") version "1.4.32"
}

allOpen {
	annotation("javax.persistence.Entity")
	annotation("javax.persistence.Embeddable")
	annotation("javax.persistence.MappedSuperclass")
}
@Entityを使用し、直接openをインストールする必要はありません.

No-argプラグイン


jpa entityクラスのデフォルトジェネレータが必要です.plugin.jpaプラグインを使用する場合、デフォルトジェネレータを毎回手動で作成する必要はありません.
plugin {
    kotlin("plugin.jpa") version "1.6.10"
}
@Entity適用.

リファレンス


https://techblog.woowahan.com/2675/