我有使用產生的值休眠@SequenceGenerator不是全球
@Entity
@SequenceGenerator(allocationSize = 1, initialValue = 1000, name = "idgen")
public class Ent1 {
@Id
@GeneratedValue(generator = "idgen")
private Long id;
...
}
@Entity
public class Ent2 {
@Id
@GeneratedValue(generator = "idgen")
private Long id;
...
}
的問題是,如果不把線
@SequenceGenerator(allocationSize = 1, initialValue = 1000, name = "idgen")
上都實體我得到了兩個實體類錯誤:
Caused by: org.hibernate.AnnotationException: Unknown Id.generator: idgen
我錯過了什麼?
我試着將@SequenceGenerator添加到package-info.java中,但後來發現編譯器錯誤,說這種類型的註釋在這裏不適用。 –
package-info.java在Eclipse中編譯時工作,但我沒有嘗試過使用javac,現在我發現這是無效的(有趣的是Eclipse允許這樣做)。相反,您必須使用orm.xml來聲明序列生成器。看到我更新的答案。 – neildo
也會有一種方法來覆蓋默認sequencegenerator,所以生成的值不需要每個類中的顯式引用? – Cloud