Java hibernate中的OneToMany映射:无法保存对象
我有一个web应用程序,我正在使用hibernate进行数据存储。我有两个实体类Java hibernate中的OneToMany映射:无法保存对象,java,database,hibernate,Java,Database,Hibernate,我有一个web应用程序,我正在使用hibernate进行数据存储。我有两个实体类USERS和FILES用户可以将文件上传到服务器,因此USERS实体用于存储用户数据,FILES实体用于存储文件。在users实体中,我编写以下代码 @OneToMany(mappedBy="user") @Column(nullable = true) private Collection<Files> files=new ArrayList<Files>(); public Collec
USERS和FILES
用户可以将文件上传到服务器,因此USERS实体用于存储用户数据,FILES实体用于存储文件。在users实体中,我编写以下代码
@OneToMany(mappedBy="user")
@Column(nullable = true)
private Collection<Files> files=new ArrayList<Files>();
public Collection<Files> getFiles() {
return files;
}
public void setFiles(Collection<Files> files) {
this.files = files;
}
每当我运行应用程序时,hibernate都会使用外键创建表,但当我试图通过session.save(u)
保存用户对象时,它不会被保存。我能想到的问题是,我没有向文件集合添加任何值,也只是保存用户对象而不是文件对象,但这是必需的,因为用户可能不需要上传文件。他可以只拥有帐户,服务器上可能有任何文件。如何在hibernate中实现这一点。使用级联
@OneToMany(mappedBy="user", cascade = CascadeType.PERSIST)
@Column(nullable = true)
private Collection<Files> files=new ArrayList<Files>();
@OneToMany(mappedBy=“user”,cascade=CascadeType.PERSIST)
@列(nullable=true)
私有集合文件=新建ArrayList();
@OneToMany(mappedBy="user", cascade = CascadeType.PERSIST)
@Column(nullable = true)
private Collection<Files> files=new ArrayList<Files>();