これはばかげているように聞こえるかもしれませんが、なぜ@Entity
s で空のコンストラクターを定義する必要があるのでしょうか?
私が見たすべてのチュートリアルは、次のように述べています。すべてのエンティティには空のコンストラクターが必要です。
ただし、Java は常にデフォルトの非表示の空のコンストラクターを提供します (再定義しない場合)。
明確にさせてください.. 「必要」で理解したのはwriteでした。
意味: エンティティには常に空のコンストラクターを記述します。
例:
@Entity
public class MyEntity implements Serializable {
@Id
private String str;
public MyEntity(){}
//here getter and setter
}
ただし、Java は、再定義しない場合 (パラメーターを使用して別のコンストラクターを作成する場合)、常にこの空のコンストラクターを提供します。
この場合、この空のコンストラクターを書くことは役に立たないようです。