2013-02-28 28 views
0

我有兩個類在play 1.2.4框架內使用hibernate/persistence映射到兩個分開的表。JPA @ManyToOne引用未知類型。

User類具有的UserRole的集合,這樣

@OneToMany(mappedBy="userId") 
@Embedded 
public Collection<UserRole> roles; 

類,UserRole的類有

@ManyToOne(fetch=FetchType.LAZY) 
@JoinColumn(name="User_ID") 
public long userId; 

在我的MySQL數據庫,則user_roles DB已經從用戶數據庫的外鍵。不過,我不斷收到錯誤

@ManyToOne on models.UserRole.userId references an unknown entity: long 
+4

如果您使用的是@ @ ManyToOne,則它所連接字段的數據類型應該是關係另一端的JPA實體:例如'User',而不是'long'。 – 2013-02-28 21:35:25

+0

如果您使用OneToMany,則它不能同時處於嵌入狀態。 – 2013-02-28 21:36:19

回答

0

類的UserRole應該看起來像

@ManyToOne(fetch=FetchType.LAZY) 
@JoinColumn(name="userId") 
public User user; 

您需要映射實體而不是屬性本身。

+0

謝謝,工作 – HunterO 2013-03-01 03:50:08

相關問題