У меня есть две сущности: почта и картинка.Я хочу сохранить изображение как можно более независимым.Пост должен иметь изображение, но это не обязательно.Прямо сейчас объекты выглядят так:
@Entity
@Table(name = "pictures")
public class Picture implements Comparable<Picture> {
@Id
@GeneratedValue
private long id;
@Column(nullable = false)
private String file;
//getters and setters
}
@Entity
@Table(name = "posts")
public class Post implements Comparable<Post> {
@Id
@GeneratedValue
private long id;
//some extra fields
private Picture picture;
//getters and setters
}
Проблема в том, что я не знаю, что я должен аннотировать в поле изображения, чтобы установить соединение.Я пытался аннотировать его с помощью @OneToOne и @MapsId (на основе руководства Влада Михалча), но когда я пытаюсь сохранить сущность Post с пустым полем изображения, я получаю сообщение об ошибке, подобное этому
org.hibernate.id.IdentifierGenerationException: attempted to assign id from null one-to-one property [com.acme.Post.picture]
Что такоеправильный способ исправить это?Спасибо