【问题标题】:mappedBy issue with Ebean/Play framework与 Ebean/Play 框架有关的 mappedBy 问题
【发布时间】:2015-03-30 07:07:54
【问题描述】:

我尝试在两个表之间创建链接:UserNotifications
Notifications 表应该有:

  1. ID(整数)
  2. User_Id (int)
  3. 列表

我需要澄清我的目标。在我的应用程序中,用户使用通知表向其他几个人询问一些事情。因此,我们可以知道:

  1. 提问的用户是谁 (User_Id)
  2. 向谁提出问题(列表)

用户

@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:错误 models.Notifications.asked_users 找不到 mappedBy 属性 [models.User]中的[user]

我做错了什么?

【问题讨论】:

    标签: mysql orm playframework-2.0 ebean playframework-2.3


    【解决方案1】:

    mappedBy 中,您需要使用 existing 相对字段的名称,在您的情况下它是 notification - 没有 's' 在最后。

    【讨论】:

    • 几个问题。为什么没有“s”?另外,通过删除 S,我的通知表中只有一个 ID 字段。
    • 没有 s 因为您的用户模型中的字段名称是 notification 而不是 notifications
    • 哦......对......你知道为什么我在通知表中只有一个 ID 字段吗?
    猜你喜欢
    • 1970-01-01
    • 2012-07-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-09-21
    相关资源
    最近更新 更多