最近,我已将我的实体转换为便携式。 我们喜欢我们的实体可以使用oracle数据库和mysql(在它之前只有oracle)。 之前,为了生成实体ID,我们使用SequenceGenerator,现在我们已经更改为GenericGenerator。
旧代码:
@Id
@Column(name = "ID")
@GeneratedValue(strategy = GenerationType.SEQUENCE, generator = "SEQ_1")
@SequenceGenerator(name = "SEQ_1", sequenceName = "SEQ_1", allocationSize = 1)
public Long getId() {
return this.id;
}
新代码:
@GenericGenerator(name="SEQ_1", strategy="org.hibernate.id.enhanced.SequenceStyleGenerator",
parameters={
@Parameter(name="sequence_name",value="SEQ_1"),
@Parameter(name="optimizer", value="seqhilo"),
@Parameter(name="initial_value",value="1"),
@Parameter(name="increment_size",value="1")
})
public Long getId() {
return this.id;
}
我的问题是,当我们处理多线程时,我们在实体创建方面有很多例外。 我们使用版本为Hibernate的3.3.2。