私は現在、HibernateとJava Persistence APIを学んでいます。javax.persistenceフィールド、ゲッターまたはセッターの注釈?
私は@Entityクラスを持っており、さまざまなフィールドにアノテーションを適用する必要があります。私は彼らが行くことができる3つの場所すべての下のコードに含めました。
フィールド自体、ゲッターまたはセッターに適用する必要がありますか?そして、これらの3つのオプションの間に意味の違いがあれば、それは何か。
import javax.persistence.Entity;
import javax.persistence.Table;
import javax.persistence.Id;
@Entity
@Table(name = "song")
public class Song {
// Annotations should only be applied to one of the below
@Id
@Column(name="id", unique=true, nullable=false)
private int id;
@Id
@Column(name="id", unique=true, nullable=false)
public int getId() {
return id;
}
@Id
@Column(name="id", unique=true, nullable=false)
public void setId(int id) {
this.id = id;
}
}
可能な重複可能性がありますhttp://stackoverflow.com/questions/4188048/why-should-anybody-put-annotations-on-the-getters-or-setters-when-using- jpa-to-m –
セッターの注釈は、セッターのリフレクションを使用してフィールドのクラスタイプを判別することがより困難なため、サポートされていません。ゲッターの場合は、メソッドの戻り値の型をチェックするだけです。しかし、セッターの場合、複数のパラメータを渡すとどうしますか? –