У меня возникла проблема, связанная с тем, что одна-на-один ленивая загрузка не работает в спящем режиме. Я уже решил, но все же не правильно понять что будет.Спящий режим: индивидуальная ленивая загрузка, необязательно = false
Мой код (ленивая загрузка не работает здесь, когда я тяну Человек - Адрес также неправдоподобный):
@Entity
public class Person{
@Id
@SequenceGenerator(name = "person_sequence", sequenceName = "sq_person")
@GeneratedValue(strategy = GenerationType.SEQUENCE, generator = "person_sequence")
@Column(name = "id")
private long personID;
@OneToOne(mappedBy="person", cascade=CascadeType.ALL, fetch = FetchType.LAZY)
private Adress address;
//.. getters, setters
}
@Entity
public class Address {
@Id
@Column(name="id", unique=true, nullable=false)
@GeneratedValue(generator="gen")
@GenericGenerator(name="gen", strategy="foreign", [email protected](name="property", value="person"))
private long personID;
@PrimaryKeyJoinColumn
@OneToOne
private FileInfo person;
}
Но: если добавить optional=false
в OneToOne отношениях, ленивый Погрузка отлично подходит!
@OneToOne(mappedBy="person", cascade=CascadeType.ALL, optional = false, fetch = FetchType.LAZY)
private Adress address;
Вопрос/Мольба: пожалуйста, объясните мне, как optional=false
аннотаций позволяет добиться отложенной загрузки.
P.S. Я читал сообщения post1 и post2, и понимаю, почему простой OneToOne не может быть ленивым, но я до сих пор не могу понять магию optional=false
.
Эй, @ Володимир, у меня с вами такая же проблема. Я пытаюсь отделить столбец BLOB от объекта. Родительский объект имеет дочернюю структуру. Детский объект содержит двоичный столбец. Родитель и ребенок являются «той же таблицей», поэтому я использую отношения @OneToOne. Хотя я использовал LAZY fetchType, но, похоже, не работает. Когда я помещаю 'optional = false', он работает. Любое объяснение будет оценено действительно. – Emerald214
@ Emerald214 извините, это было 2 года назад.В настоящее время я пишу JS Mobile и не могу помочь вам –
OneToOne optional = false не работает с CascadeType.PERSIST см: https://hibernate.atlassian.net/browse/HHH-9670 – sliver