У меня есть две сущности:
@Entity
public class File
.......
@Id @GeneratedValue(strategy=GenerationType.AUTO)
private int id;
@OneToMany(fetch=FetchType.LAZY, mappedBy="file", cascade=CascadeType.ALL)
private List<Tag> tags;
.......
OTHER PROPERTIES
.......
@Entity
public class Tag
.......
@Id @GeneratedValue(strategy=GenerationType.AUTO)
private int id;
@ManyToOne
@JoinColumn(name="file_id")
private File file;
@Column
private String tag;
.......
OTHER PROPERTIES
.......
Я пытаюсь вставить в файл (и впоследствии тег), выполнив следующие действия:
File file = new File();
Tag tag = new Tag();
tag.setTag("tag1");
Tag2 tag2 = new Tag();
tag2.setTag("tag2");
List<Tag> tags = new ArrayList<Tag>();
tags.add(tag);
tags.add(tag2);
file.setTags(tags);
---Add other file attributes here---
Затем я вставляю файл вмой DAO использует:
sessionFactory.getCurrentSession().saveOrUpdate(file);
В моих журналах я вижу вставку в мою таблицу «file» и 2 вставки в мою таблицу тегов, однако внешний ключ в моей таблице тегов, который указывает на мою таблицу файлов (file_id) НЕДЕЙСТВИТЕЛЕН.
Что я мог сделать не так?