0
我想使用@JoinColumn作爲@Id使用JPA,我得到SerializationExceptions,「無法序列化」。JPA - @JoinColumn是否也可以是@Id? SerializationException發生
UserRole.java:
@Entity
@Table(name = "authorities")
public class UserRole implements Serializable {
@Column(name = "authority")
private String role;
@Id
@ManyToOne
@JoinColumn(name = "username")
private User owner;
...
}
User.java:
@Entity
@Table(name = "users")
public class User implements Serializable {
@Id
@GeneratedValue
protected Long id;
@Column(name = "username")
protected String email;
@OneToMany(mappedBy = "owner", fetch = FetchType.LAZY, cascade = CascadeType.ALL)
protected Set<UserRole> roles = new HashSet<UserRole>();
....
}
「用戶名」 設置爲我的用戶表中的唯一索引,但不能作爲主鍵。
有什麼辦法可以讓「username」充當UserRole的ID嗎?我不想在UserRole中引入數字鍵。我完全在這裏失去了陰謀嗎?
我在引擎蓋下使用MySQL和Hibernate。
當然,你是對的。而我是個白癡! – Shivago 2010-05-13 16:46:24