Я пытаюсь сопоставить таблицы с сущностями, используя 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