ManyToMany:: Как сохранить данные только в «объединяющей таблице» и сохранить только «владеющую сторону»JAVA

Программисты JAVA общаются здесь
Ответить
Anonymous
 ManyToMany:: Как сохранить данные только в «объединяющей таблице» и сохранить только «владеющую сторону»

Сообщение Anonymous »

Между таблицами «MyUser» и «Roles» существует связь «многие ко многим» с «joining table» = «USERS_ROLES».
Когда я сохраняю «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
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «JAVA»