2013-02-28 4 views
0

У меня есть два класса, сопоставленные двум разделенным таблицам с использованием спящего режима/сохранения в рамках 1.2.4.JPA @ManyToOne Ссылки неизвестный тип.

Класс Пользователь имеет коллекцию UserRoles как таковой

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

Класс, UserRole класс имеет

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

В пределах моей базе данных MySQL, то user_roles БД имеет внешний ключ из базы данных пользователей , Тем не менее, я получаю ошибку, что

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

Если вы используете '@ ManyToOne', тип данных поля, к которому он присоединен, как ожидается, будет объектом JPA на другой стороне отношения: например,' User', а не 'long'. –

+0

И если вы используете OneToMany, он не может быть встроенным одновременно. –

ответ

0

Класс UserRole должно выглядеть

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

Вам нужно отобразить объект не сам атрибут.

+0

Спасибо, что сработал – HunterO

Смежные вопросы