Я использую JPA2 и реализацию Hibernate.Я пытаюсь сохранить объект User, который получил список прав доступа
@OneToMany(mappedBy = "user", fetch = LAZY, cascade = ALL)
private List<UserAuthority> userAuthorities;
В моем сервисе есть:
UserAuthority userAuthority = new UserAuthority();
userAuthority.setAuthority(authorityDao.getByName(Authorities.ROLE_USER
.toString()));
userAuthority.setUser(user);
List<UserAuthority> authorities = new ArrayList<UserAuthority>();
authorities.add(userAuthority);
user.setUserAuthorities(authorities);
userDao.persist(user);
Метод "getByName"
в authorityDao
находитROLE_USER
в моей базе данных.И userDao, и AuthorDao получили аннотации @Transactional.Теперь, когда я пытаюсь позвонить userDao.persist(user)
, я получил исключение.Почему и как это решить?
org.springframework.orm.jpa.JpaSystemException: org.hibernate.PersistentObjectException: detached entity passed to persist: pl.flamewars.entity.Authority; nested exception is javax.persistence.PersistenceException: org.hibernate.PersistentObjectException: detached entity passed to persist: pl.flamewars.entity.Authority
Спасибо
Давид