2015-03-30 1 views
0

Я пытаюсь создать связь между двумя таблицами: User и Notifications
В Notifications таблицы должны иметь:
mappedBy проблема с каркасом Ebean/Play

  1. Id (интермедиат)
  2. user_id (интермедиат)
  3. Список < пользователя>

мне нужно уточнить свою цель. В моем приложении пользователь спрашивает что-то несколько других, используя таблицы уведомлений. Так что, мы можем знать:

  1. Кто пользователь, который задает вопрос (user_id)
  2. К whow пользователей вопрос aked (Список < пользователя>)

Пользователь

@Entity 
public class User extends Model{ 
    @ManyToOne 
    @JoinColumn(name="notification_fk") 
    public Notifications notification; 
} 

Уведомления

@Entity 
public class Notifications extends Model{ 

    @Id 
    @GeneratedValue 
    public int id; 
    public User user; 
    @OneToMany(cascade=CascadeType.ALL, mappedBy="notifications") 
    public List<User> asked_users = new ArrayList<User>(); 
} 

Но я получаю следующее сообщение об ошибке:

javax.persistence.PersistenceException: Error on models.Notifications.asked_users Can not find mappedBy property [user] in [models.User]

Что я сделал не так?

ответ

0

В mappedBy вам нужно использовать имя существующего oposite поле, и это в вашем случае notification - без «s» в конце.

+0

Несколько вопросов. Почему без «s»? Кроме того, просто удалив S, у меня есть только поле ID в моей таблице notifiactions. – Mornor

+1

без s, потому что имя поля в вашей модели пользователя - 'уведомление' NOT' Уведомления' – biesior

+0

О ... Правильно ... У вас есть идея, почему у меня есть только поле ID в таблице уведомлений? – Mornor