@ Встроенный объект не сохраняется при закрытом - PullRequest
0 голосов
/ 30 сентября 2019

Давайте начнем с сущности со встроенной структурой.

@Entity
public class MyEntity implements Serializable {

  @Embedded private MyEmbeddedObject myEmbeddedObject;

  ...
}

@Embeddable
public class MyEmbeddedObject implements Serializable {

  @Column(name = "first_col", precision = 38, scale = 18)
  private Double firstCol;

  ...
}

Содержание здесь не важно. Эти объекты создаются в приложении Java FX. После создания или изменения они сохраняются в базе данных с использованием репозиториев JPA.

Я наблюдал следующее поведение и хотел бы знать, нормально ли это:

  1. Когда объектMyEntity создается в первый раз из моего интерфейса Java FX, JPA будет правильно хранить все в базе данных, что является ожидаемым поведением.
  2. Когда я пытаюсь изменить firstCol из интерфейса, это изменениеотображается правильно, но его значение не будет сохранено, если MyEmbeddedObject не является защищенной переменной MyObject. Если MyEmbeddedObject является приватным, оно становится не подлежащим изменению. Значения всегда можно отобразить, но нельзя изменить.

У кого-нибудь есть идеи, почему? Это не блокирующая ситуация, потому что у меня есть обходной путь. Мне любопытно, если кто-то знает, нормально ли это поведение.

...