我正在研究一个Hibernate /
Spring应用程序来管理一些电影.
课堂电影与班级类型有很多关系.
这两个类都使用GeneratedValue注释生成了id.
使用@Cascade(CascadeType.SAVE_UPDATE)通过电影对象保存该类型
我对类型的类型属性(这是它的名称;例如“幻想”)设置了一个独特的约束.
我现在要做的是让Hibernate检查是否已经存在类型为“Fantasy”的类型,如果有,请使用该类型的id而不是尝试插入新记录.
(后者显然会抛出错误)
最后我需要的是像select-before-update之类的东西,但更像是select-before-save.
Hibernate中有这样的功能吗?
一些代码:
电影课
@Entity public class Movie { @Id @GeneratedValue(strategy=GenerationType.AUTO) private int id; private String name; @Lob private String description; @Temporal(TemporalType.TIME) private Date releaseDate; @ManyToMany @Cascade(CascadeType.SAVE_UPDATE) private Set<Genre> genres = new HashSet<Genre>(); .... //other methods
类型课程
@Entity public class Genre { @Column(unique=true) private String type; @Id @GeneratedValue(strategy=GenerationType.AUTO) private int id ....//other methods