我有两个实体:
@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_id) 的外键为 NULL。
我可能做错了什么?