Например, код реализации дополнительного класса должен выглядеть так:

аза данных содержит 3 таблицы: объекты «Пользователь» и «Служба» имеют отношение «многие ко многим» и объединены с таблицей SERVICE_USER следующим образом:

ПОЛЬЗОВАТЕЛИ - SERVICE_USER - УСЛУГИ

Таблица SERVICE_USER содержит дополнительный столбец BLOCKED.

Каков наилучший способ выполнить такое отображение? Это мои классы Entity

@Entity
@Table(name = "USERS")
public class User implements java.io.Serializable {

private String userid;
private String email;

@Id
@Column(name = "USERID", unique = true, nullable = false,)
public String getUserid() {
return this.userid;
}

.... some get/set methods
}

@Entity
@Table(name = "SERVICES")
public class CmsService implements java.io.Serializable {
private String serviceCode;

@Id
@Column(name = "SERVICE_CODE", unique = true, nullable = false, length = 100)
public String getServiceCode() {
return this.serviceCode;
}
.... some additional fields and get/set methods
}

Я последовал этому примеруhttp://giannigar.wordpress.com/2009/09/04/m ... using-jpa / Вот небольшой тестовый код:

User user = new User();
user.setEmail("e2");
user.setUserid("ui2");
user.setPassword("p2");

CmsService service= new CmsService("cd2","name2");

List<UserService> userServiceList = new ArrayList<UserService>();

UserService userService = new UserService();
userService.setService(service);
userService.setUser(user);
userService.setBlocked(true);
service.getUserServices().add(userService);

userDAO.save(user);

Проблема в том, что в hibernate сохраняется объект User и UserService. Нет успеха с объектом CmsService

Я пытался использовать EAGER fetch - нет прогресса

Можно ли добиться ожидаемого поведения с помощью приведенного выше сопоставления?

Может быть, есть какой-то более элегантный способ сопоставления многих со многими таблицами соединений с дополнительным столбцом?

Ответы на вопрос(3)

Ваш ответ на вопрос