有人可以@MapsId在hibernate状态下向我解释吗?我很难理解它。
@MapsId
如果可以举一个例子来解释它,那就最棒了,并且它在哪种用例中最适用?
这是Object DB的一个很好的解释。
指定ManyToOne或OneToOne关系属性,该属性提供EmbeddedId主键,EmbeddedId主键内的属性或父实体的简单主键的映射。value元素指定关系属性所对应的组合键中的属性。如果实体的主键与关系所引用的实体的主键具有相同的Java类型,则未指定value属性。
// 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文档。