誰か、@MapsId
Hibernate について説明してくれませんか? 理解するのが難しいです。
例を挙げて説明していただければありがたいのですが、どのようなユースケースに最も適しているのでしょうか?
ベストアンサー1
ここに素晴らしい説明がありますオブジェクトDB。
EmbeddedId 主キー、EmbeddedId 主キー内の属性、または親エンティティの単純な主キーのマッピングを提供する ManyToOne または OneToOne 関係属性を指定します。値要素は、関係属性が対応する複合キー内の属性を指定します。エンティティの主キーが、関係によって参照されるエンティティの主キーと同じ Java タイプである場合、値属性は指定されません。
// parent entity has simple primary key
@Entity
public class Employee {
@Id long empId;
String name;
...
}
// dependent entity uses EmbeddedId for composite key
@Embeddable
public class DependentId {
String name;
long empid; // corresponds to primary key type of Employee
}
@Entity
public class Dependent {
@EmbeddedId DependentId id;
...
@MapsId("empid") // maps the empid attribute of embedded id
@ManyToOne Employee emp;
}
読むAPIドキュメントここ。