Есть две сущности User и Answer Между ними свзясь многие ко многим.
| Код | @Entity @Table(name="ANSWERS") public class Answer implements java.io.Serializable { @Id @GeneratedValue(strategy=GenerationType.AUTO) @Column(name="ANSWER_ID") private Long id; private String name; @ManyToOne @JoinColumn(name="QUESTION_ID") private Question question; @ManyToMany @JoinColumn(name="USER_ID") private List<User> users; ...
|
| Код | @Entity @Table(name="USERS") public class User implements java.io.Serializable { @OneToMany(mappedBy = "user") private List<Task> tasks; @ManyToMany(mappedBy = "users") private List<Answer> answers; @Id @GeneratedValue(strategy=GenerationType.AUTO, generator="USERS_ID") @SequenceGenerator(sequenceName="SQ_USERS_ID", name="USERS_ID") @TableGenerator(name="USERS_ID") @Column(name="USER_ID") private Long id; @Temporal(value = TemporalType.TIMESTAMP) @Column(nullable=false, updatable=false) private Date created = new Date(); @Temporal(value = TemporalType.TIMESTAMP) private Date updated; @ManyToMany(mappedBy = "users") private List<Group> groups; @Embedded @Column(nullable=false, unique=true) private Email email; @ManyToOne @JoinColumn(name="ROLE_ID") private Role role; ...
|
Каким образом эффективно вставлиять / обновлять записи для соответсвия какой юзер дал какой ответ на какой вопрос в промежудочной таблице USERS_ANSWERS(USER_ID, ANSWER_ID)? Это ответы на вопросы анкеты, вопросов может быть много ~100 т.е. тут идет обновление, добавления большого числа записей одновременно. Буду благодарен за помощь. Hibernate вещь хорошая, если знать все тонкости его использования, иначе - большой проиграш в производительности :( В доках по Hibernate тема many-to-many batch insert/update освещена похоже не очень.
Спасибо. |