我正在使用hibernate来进行某种音乐管理。 歌曲实体看起来像这样:
@Entity
@Table(name = "Song")
public class Song implements Serializable {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
private Long id;
private String title;
@ManyToOne(cascade = CascadeType.ALL)
@JoinColumn(name = "artist_id")
private Artist artist;
}
艺术家实体看起来像这样:
@Entity
@Table(name = "Artist")
public class Artist implements Serializable{
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
private Long id;
@NotBlank
private String name;
}
我现在面临的问题是,如果我发布一首带有艺术家“abc”的歌曲,之后另一首带有艺术家“abc”的歌曲将会创建艺术家数据库中的另一个条目。
有没有办法让hibernate找到那些“重复”或者我自己必须这样做?