2

遺産があります

抽象クラス A:

@MappedSuperclass
public abstract class A {

    public Integer id;

    @Id
    @Column(name = "ID", nullable = false)
    public Integer getId() {
        return this.id;
    }

    public void setId(Integer id) {
        this.id = id;
    }
}  

シーケンスを使用するサブクラス B:

@Entity
@Table(name = "B")
public class B
    extends A {

    private String descripction;

    @Override
    @SequenceGenerator(name = "SEQ_TRANSACTIONID", sequenceName = "SEQ_TRANSACTION", allocationSize = 1)
    @GeneratedValue(strategy = GenerationType.SEQUENCE, generator = "SEQ_TRANSACTIONID")
    public Integer getId() {
        return id;
    }

    @Column(name = "DESCRIPTION", nullable = false)
    public String getDescripction() {
        return descripction;
    }

    public void setDescripction(String descripction) {
        this.descripction = descripction;
    }
}

そして、シーケンスを必要としないサブクラス C:

public class C extends A {
}

クラス B はシーケンスを生成する必要がありますが、クラス C は生成しません。

「create-drop」で「hibernate.hbm2ddl.auto」を使用してプロジェクトを実行します。ただし、SEQ_TRANSACTIONID は作成されません。

エラーを再現できるように、このテストを作成しました。

お願い助けて.....

前もって感謝します。

4

0 に答える 0