Когда я сохраняю «MyUser»:: данные успешно сохраняются в таблицу «МойПользователь», в таблицу «Роли» и в таблицу «Присоединяющаяся таблица».
Я делаю это так::
Код: Выделить всё
@Entity
@Table(name = "users")
public class MyUser {
...
@ManyToMany(cascade = {CascadeType.PERSIST})
@JoinTable(name = "USERS_ROLES",
joinColumns = {@JoinColumn(name = "user_id_pk")},
inverseJoinColumns = {@JoinColumn(name = "role_id_pk")})
private List listRoles;
...
}
Код: Выделить всё
@Entity
@Table(name = "roles")
public class Roles {
...
@ManyToMany(mappedBy="listRoles")
private List myUsersList;
...
}
Я хочу, чтобы данные сохранялись только в таблицу "МойПользователь" и в "присоединяющуюся таблицу".
Я хочу, чтобы данные сохранялись только в таблицу "МойПользователь" и в "присоединяющуюся таблицу", т.е. чтобы данные не сохранялись в таблицу "Роли".
p>
Если я использую «CascadeType.REMOVE», выдается ошибка. Вот оно:: "TransientObjectException: объект ссылается на несохраненный временный экземпляр - сохраните временный экземпляр перед сбросом: Роли".
Ну, то есть объект "MyUser" содержит еще один "Роли" ", я сохраняю "MyUser" и не сохраняю "Roles", поэтому выдается эта ошибка.
Вопрос: так как мне сохранить данные только в таблицу "МойПользователь" и в таблицу "Присоединяющаяся таблица", т.е. чтобы данные не сохранялись в таблицу "Роли"?
Есть ли у кого-нибудь идеи?
Подробнее здесь: https://stackoverflow.com/questions/791 ... nly-owning
Мобильная версия