我尝试在 Play Framework 2.1 中使用 JoinTable 创建单向 OneToMany 关系。但是,该框架没有生成“JoinTable”:“transformation_input_files”。奇怪的是,如果我将关系更改为 ManyToMany,则会生成表。这是代码:
所以它是关于一个包含多个 S3Files 的转换类。这是转换文件:
@Entity
@Table(name = "transformations")
public class Transformation extends Model {
@Id
public Long id;
/*...*/
@OneToMany(cascade = CascadeType.PERSIST)
@JoinTable(
name="transformation_input_files",
joinColumns = @JoinColumn( name="transformation_id"),
inverseJoinColumns = @JoinColumn( name="input_file_id")
)
public List<S3File> inputFiles;
}
这是 S3 文件:
@Entity
@Table(name="s3files")
public class S3File extends Model {
@Id
public Long id;
/*...*/
}
S3Files 用于更多模型,因此不能是双向关系。如果我在@ManyToMany 中更改@OneToMany,它确实会生成连接表,但是,我喜欢坚持使用@OneToMany 关系。
我该如何解决这个问题?我错过了什么吗?