В моем приложении я получаю org.hibernate.exception.ConstraintViolationException, когда я включаю 2 или более списков одной и той же сущности (отношения @OneToMany) в один класс.
@Embeddable
data class DocPresentation(
@OneToMany(cascade = [CascadeType.ALL])
var billOfLadingComments: List<Comment>?,
@OneToMany(cascade = [CascadeType.ALL])
var invoiceComments: List<Comment>?,
...
@Entity
@Table(name = "Comment")
data class Comment(
@Column(name = "date")
var date: Date?,
@Column(name = "message")
var message: String?,
@Embedded
var sender: Company?
) {
constructor() : this(null, null, null)
@Id
@GeneratedValue
@Column(name = "database_id")
var databaseId: Int? = null
}
Отношение является однонаправленным, поэтому создается промежуточная таблица, которая содержит идентификаторы связанных объектов.В этом случае он включает идентификатор объекта встраивания DocPresentation
и 2 столбца: billOfLadingComments_database_id
и invoiceComments_database_id
.Когда я комментирую один из списков, приложение работает правильно.Как я могу разрешить исключение?