У меня есть две таблицы, пользователи и продукты. И я пытаюсь автоматически создать новый Table TestedProducts, который представляет собой много-много отношений между пользователем и продуктом. Однако я получаю эту ошибку.JPA ManyToMany issue
org.apache.jasper.JasperException: javax.ejb.EJBException: The bean encountered a non-application exception; nested exception is:
<openjpa-1.2.1-r752877:753278 fatal user error> org.apache.openjpa.persistence.ArgumentException:
"ejb.UserEntity.products<element:interface ejb.Product>" has columns with targets, but OpenJPA does not support any joins on this mapping in this context.
UserEntity выглядит любезно.
long id;
String firstname;
String lastname;
String password;
String email;
String description;
List<Product> products;
public void setId(long id){
this.id = id;
}
@Id
@GeneratedValue
public long getId() {
return id;
}
@ManyToMany
@JoinTable(name="TestedProducts",
joinColumns=
@JoinColumn(name="usrId", referencedColumnName="id"),
inverseJoinColumns=
@JoinColumn(name="prodId", referencedColumnName="id")
)
public List<Product> getProducts() {
return products;
}
public void setProducts(List<Product> products) {
this.products = products;
}
И ProductEntity так:
long id;
String name;
String description;
String type;
List<User> users;
@ManyToMany(mappedBy="products")
protected List<User> getUsers() {
return users;
}
protected void setUsers(List<User> users) {
this.users = users;
}
я пропустил остальную часть сеттеров и добытчиками.
Я думаю, что это может быть проблема, havent успел ее протестировать, хотя – Zeezer