@Splite

Как работать со связями в Ebean ORM?

Здравствуйте, никак не могу понять, как в Ebean ORM работать со связями один ко многим. Допустим есть такие сущности
@Entity
open class Member() {
    @ManyToOne(optional = false)
    open var group: Group? = null
}

@Entity
open class Group() {
    @OneToMany(mappedBy = "group", fetch = FetchType.EAGER, cascade = arrayOf(CascadeType.ALL))
    open var members: MutableList<Member> = ArrayList()
}


Я хочу добавить нового Member для какой-то Group, например так
//группа в переменной gr
val memb: Member = Member("testName")
memb.group = gr
gr.members.add(memb)
ebeanServer.save(gr)


Вроде все окей, но вот если сделать
ebeanServer.save(gr)
ещё раз, вне зависимости от того, какие изменения я там делал, получаю исключение
com.mysql.jdbc.exceptions.jdbc4.MySQLIntegrityConstraintViolationException: Duplicate entry '494' for key 'PRIMARY'

ID 494 относится именно к новому участнику memb, ebean пытается сохранить его ещё раз
В чем может быть проблема?
  • Вопрос задан
  • 293 просмотра
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы
Bell Integrator Хабаровск
До 400 000 ₽
Bell Integrator Ульяновск
До 400 000 ₽
Bell Integrator Ижевск
До 400 000 ₽