2016-07-27 8 views
0

私はこのようにしています。@TableGeneratorで何が欠けていますか?

@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); 

これを自動的に実行するための標準(ベンダーニュートラル)のプロパティはありますか?

答えて

1

時々、persistence.xmlを変更すると発生します。パーシスタンスユニット内で、 "eclipselink.ddl-generation"の値が が "create-tables"に設定されていることを確認します。

<property name="eclipselink.ddl-generation" value="create-tables" /> 
関連する問題