неожиданное saveOrUpdate () при сохранении отдельного массива - PullRequest
0 голосов
/ 01 ноября 2019

У меня есть отдельный массив сущностей, переданных из внешнего интерфейса: LayoutUsages , и каждый layoutUsage связан с LayoutUsedBy (много к одному), при получении массива я использовал цикл для вставкии итерация каждого LayoutUsedBy с помощью { layoutUsage.getLayoutUsedBy (). getPrimaryKey () <= 0 </strong>}, первый элемент может войти в цикл, в то время как другие элементы будут иметь первичный ключ, который он получает из первого. поэтому ни один из них не может войти в него.

отношение является однонаправленным, LayoutUsage выглядит:

public class LayoutUsage {
    //...
    @ManyToOne(fetch=FetchType.LAZY, optional=false)
    @JoinColumn(name="LAYOUT_USED_BY", nullable=false, referencedColumnName="ID")
    @Cascade({})
    protected LayoutUsedBy layoutUsedBy;
    //...
}

Из отладки я замечаю, что:

  1. primaryKsage каждого layoutUsageравно 0, но arr [0] и arr 1 - это совершенно другой элемент (с другим hashCode), как в спящем режиме можно судить об этих двух сущностях как об одном?
  2. перед входом в цикл, arr [0] .layoutUsedBy. 1025 *
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...