我尝试搜索,但在找到我想要的东西时遇到了问题。我有以下架构( * 表示主键)
USER
*UserId
-Desc
Registration
*DeviceId
*UserId
-date
所以我想为注册创建一个主键,比如......
@Embeddable
public class RegPk{
private String deviceId;
private User user;
@Column(name="DEV_ID")
public String getDevId(){
return deviceId;
}
...
@ManyToOne
@JoinColumn(name="USER_ID", referencedColumnName="USER_ID")
public User getUser() {
return user;
}
...
}
这是正确的吗?当我坚持时,它会在注册中正确更新 USER_ID 字段吗?
当我尝试这种事情时,我得到以下结果......
[10/7/13 13:37:07:156 EDT] 000000ae webapp E com.ibm.ws.webcontainer.webapp.WebApp logServletError SRVE0293E:[Servlet 错误]-[Hello]:org.apache.openjpa.util.MetaDataException : 类型“class org.me.mfa.jpa.Registration”指定的id类与类的主键字段不匹配。确保您的身份类具有与持久类型相同的主键,包括 pk 字段类型。不匹配的属性:“用户”
所以现在怎么办?