我有下一个问题->我的数据库上有一个带有复合ID的表...假设(Id1,Id2,Id3,Id4),Id4是由数据库上的序列生成的...
我的问题是,在 Spring Boot 中,我生成了实体“Table1”和相应的“Table1Id”,但是当我想从序列中添加相应的 GeneratedValue 时,并没有生成任何东西。
我在互联网上寻找,我发现 GeneratedValue 在没有 @Id 注释的情况下无法工作,但也许有一些方法可以解决这个问题。
谢谢和对不起我的英语。
我有下一个问题->我的数据库上有一个带有复合ID的表...假设(Id1,Id2,Id3,Id4),Id4是由数据库上的序列生成的...
我的问题是,在 Spring Boot 中,我生成了实体“Table1”和相应的“Table1Id”,但是当我想从序列中添加相应的 GeneratedValue 时,并没有生成任何东西。
我在互联网上寻找,我发现 GeneratedValue 在没有 @Id 注释的情况下无法工作,但也许有一些方法可以解决这个问题。
谢谢和对不起我的英语。
解决了:
当您的项目中需要复合 id 时,使用 embeddedId 是不可能的。必须在我的 compossiteId 上使用 @IdClass 而不是 @EmbeddedId,因为第二个不适用于 @GeneratedValues,例如我的解决方案是:
@Data
@Entity(name = "table_name")
@IdClass(CompositeIdTest.class)
public class TestClass implements Serializable {
@Id
@Column(name = "column", nullable = false)
private String column;
@Id
@SequenceGenerator(name = "sequence", sequenceName = "sequence", allocationSize = 1)
@GeneratedValue(generator = "sequence")
private int idGenerated;
总之感谢