在 spring boot 中使用 embeddedId 中的序列

Consuming sequence inside a embeddedId in springboot

我有下一个问题 -> 我的数据库上有一个 table 具有复合 ID... 假设(Id1,Id2,Id3,Id4),Id4是由db上的一个序列生成的...

我的问题是,在spring启动时,我生成实体'Table1'和对应的'Table1Id', 但是当我想从序列中添加相应的 GeneratedValue 时,没有生成任何东西。

我在互联网上寻找,我发现如果没有 @Id 注释,GeneratedValue 将无法工作,但也许有一些方法可以解决这个问题。

谢谢,对不起我的英语。

已解决:

当你的项目需要复合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;

总之,谢谢