我具有以下结构:
@Entity
class First {
@Embedded
private Second second;
..
..
}
@Embeddable
class Second {
@Id
private Long id;
private String name;
// and many attributes are not meant to be part of the Id
..
..
}
运行代码时,发生异常:
找不到第一个实体的ID。
反正可以在Embedded类中设置@id
吗?
注意: 第二类不仅仅用作Id类,所以我不想使用EmbeddedId
答案 0 :(得分:0)
选项1 。如果实体中有组合键,则应将@Embeddable标记为组合键类,并在嵌入式类中使用@EmbeddedId注释。
选项2。如果您不想使用@EmbeddedId并想在嵌入式类中使用@Id,请在嵌入式类的字段上使用@Id并在可嵌入的类中使用它类字段。不要创建可嵌入类的对象,而应在实体级别使用@IdClass注释。