我正在尝试使用jpa和ebean将表映射到实体。我有两个表,它们有一个共同的列:
Table Phone:
-id
-number
-area
Table Client:
-id
-name
-area
我必须在它们之间添加多对多关系(一个电话属于多个客户端,一个客户端可以具有多个电话),但是要基于相同的area
字段。
@Entity
public class Phone extends Model {
@Id
private long id;
@NotNull
private String number;
@NotNull
private String area;
@ManyToMany
@JoinTable(name = "phone_client",
joinColumns = @JoinColumn(name = "phone_id", referencedColumnName = "id"),
inverseJoinColumns = @JoinColumn(name = "client_id", referencedColumnName = "id"))
private List<Client> clients;
// getters and setters
}
@Entity
public class Client extends Model {
@Id
private long id;
@NotNull
private String name;
@NotNull
private String area;
// getters and setters
}
我一直在尝试@JoinTable
,@JoinColumn
,@Where
(但它需要静态内容),但没有任何结果。我不知道如何实现它,甚至可能实现它。我将不胜感激。
修改
也许描述还不清楚。
Phone.clients
应指向Clients
相同的area
列表。
phone.area = client.area