15
I have found several questions about this, but none with a complete explaintation of the problem, and how to debug it - the answers are all anecdotal.
The problem is that in a Play 1.2.4 JPA test, I'm getting this exception when I save() a model:
org.hibernate.HibernateException: Found two representations of same collection: models.Position.projects
I would like to know:
- Is there a documentation of this problem in general, unrelated to Play? The issue is in hibernate, yet a lot of the Google results on this are within Play apps.
- What are some basic best practices to avoid this problem?
- Is it caused by Play? Or something I'm doing wrong?
- How to resolve in my specific case?
Here is a reproduction of the problem on github. I have four entities:
@Entity
public class Person extends Model {
public String name;
@OneToMany(cascade = CascadeType.ALL)
public List<Position> positions;
}
@Entity
public class Position extends Model {
public Position(){}
public Position(Company companies) {
this.companies = companies;
this.projects = new ArrayList<Project>();
}
@OneToOne
public Company companies;
@ManyToOne
public Person person;
@OneToMany
public List<Project> projects;
}
@Entity
public class Company extends Model {
public String name;
}
@Entity
public class Project extends Model {
public Project(){}
publ