0

私はこのようにしています。

@Basic(optional = false)
@Column(name = "ID", nullable = false, updatable = false)
@Id
@GeneratedValue(generator = "GLOBAL",
                strategy = GenerationType.TABLE)
@TableGenerator(
        allocationSize = 1048576,
        initialValue = Integer.MAX_VALUE,
        pkColumnName = "PK",
        valueColumnName = "VL",
        table = "GENERATED_ID",
        name = "GLOBAL",
        pkColumnValue = "GLOBAL"
)
@NotNull
@XmlAttribute
private Long id;

エンティティを永続化しようとすると、取得しました。

Exception Description: Error preallocating sequence numbers.
The sequence table information is not complete.

で見逃した要素は何@TableGeneratorですか?

テーブルが存在し、行を手動で挿入すると機能することがわかります。これは正常ですか?

INSERT INTO GENERATED_ID ("PK", "VL") VALUES ("GLOBAL", 1);

これを自動的に行うための標準 (ベンダー中立) のプロパティはありますか?

4

1 に答える 1

1

persistence.xml を変更したときに発生することがあります。持続性ユニットで「eclipselink.ddl-generation」の値が「create-tables」に設定されているかどうかを確認してください。

<property name="eclipselink.ddl-generation" value="create-tables" />
于 2016-07-27T05:43:26.213 に答える