Mor*_*nor 2 java playframework ebean playframework-2.2 playframework-2.3
我是Ebean世界的新手,我在实体之间设置一些关系遇到了一些困难.
我基本上有两个班,User而且Car.
一个用户可以有几辆车(我猜OneToMany),一辆车可以属于一个用户(所以我猜OneToOne).
我如何链接这两个实体?这是我到目前为止所做的
用户
@Entity
public class User extends Model{
@Id
@GeneratedValue
public int id;
public String name;
@ManyToMany(cascade=CascadeType.ALL)
public List<Car> car = new ArrayList<Car>();
}
Run Code Online (Sandbox Code Playgroud)
汽车
@Entity
public class Car extends Model{
@Id
@GeneratedValue
public int id;
@OneToOne(cascade = CascadeType.ALL)
public User user;
}
Run Code Online (Sandbox Code Playgroud)
我收到以下错误
PersistenceException:models.User.car上的错误在[models.Car]中找不到mappedBy属性[users]
有人可以清楚地向我解释如何以正确的方式使用注释(非常糟糕的文档),并告诉我为什么会出现此错误?
你猜错了:)
你User应该@OneToMany和汽车有关系,所以:
@OneToMany(mappedBy = "user", cascade=CascadeType.ALL)
public List<Car> car = new ArrayList<Car>();
Run Code Online (Sandbox Code Playgroud)
虽然你Car应该有一个@ManyToOne关系:
@ManyToOne(cascade = CascadeType.ALL)
public User user;
Run Code Online (Sandbox Code Playgroud)
注意注释中的mappedBy属性@OneToMany:您需要告诉Ebean外键位于相关类中的哪个位置.
| 归档时间: |
|
| 查看次数: |
4176 次 |
| 最近记录: |