EmbeddedId 或 IdClass 注释用于表示复合主键。我如何在没有( EmbeddedId 或 IdClass )的情况下使用复合主键?
如果可以在没有( EmbeddedId 或 IdClass )的情况下使用复合主键,那么我如何使用EntityManager.find( Entity Class , Object primaryKey) 方法在复合主键(Multiple Primarykey)的情况下查找实体(因为没有 IdClass 或嵌入式标识符)。
EclipseLink 在 find() 操作中获取 pk 列表,但如果示例中定义了复合 pk 键 -
Entity Person {
@Id
String username;
@Id
String emailId;
@Basic
String firstName;
@Basic
String lastName;
}
List list = new ArrayList();
list.add(${username}); //Run time value
list.add(${emailId}); //Run time value
然后EnitityManager.find(list)将采用这些参数,对吗?
如果我假设正确,那么 EnitityManager.find() 操作将如何知道 List 1st 参数是用户名或 emailId pk 值(表示复合 pk 字段值的序列)