У меня возникли проблемы с добавлением пользователя в пользовательские коллекции объекта проекта, который я должен сохранить. В моей базе данных у проекта много пользователей, и у пользователя может быть много проектов.JPA Невозможно добавить объект пользователя к объекту проекта, который сохраняется.
@POST
@Consumes({"application/xml", "application/json"})
public void create(Project entity) {
User user = em.find(User.class, 1);
Collection<User> users = new ArrayList<User>();
users.add(user);
entity.setUserCollection(users); //This does not works
entity.setCreatedDate(new Date());
entity.setStatus(1);
getEntityManager().persist(entity); //super.create(entity);
}
Как это сделать?
Моя сущность проекта имеет это отображение
@ManyToMany(mappedBy = "projectCollection")
private Collection<User> userCollection;
Хотя моя сущность Пользователь имеет эти
@JoinTable(name = "user_has_project", joinColumns = {
@JoinColumn(name = "User_idUser", referencedColumnName = "idUser")}, inverseJoinColumns = {
@JoinColumn(name = "Project_idProject", referencedColumnName = "idProject")})
@ManyToMany
private Collection<Project> projectCollection;
@ManyToMany(mappedBy = "userCollection")
private Collection<Project> ProjectCollection;
Моя структура БД как
Define "не работает". –
Он не идет в базу данных, у меня есть таблица как пользовательский идентификатор пользователя user_has_project. Идентификатор проекта должен идти к нему. –
То, что вы опубликовали, недостаточно для диагностики проблемы. Мы не знаем, как отображаются ваши объекты, и что делает 'super.create (entity)'. –