私は Hibernate 4.2.x を使用しており、HiLo シーケンスの生成を無効にしたい - 毎回 DB (oracle) にアクセスします。次の行を persistance.xml に追加しました。
<property name="hibernate.id.new_generator_mappings" value="true"/>
そして、私のエンティティは次のようになります。
@Entity
@Table(name = "MY_TABLE")
@SequenceGenerator(name = "generator", sequenceName = "MY_SEQ", initialValue = 1, allocationSize = 1)
public class MyEntity {
private long id;
@Id
@Column(name = "id")
@GeneratedValue(strategy = GenerationType.SEQUENCE, generator = "generator")
public Long getId()
{
return id;
}
}
何らかの理由で、私はまだ HiLo の動作を取得しています - ID は互いに離れて作成されています。
いくつかの質問 (こことここなど) を調べましたが、役立つものは何も見つかりませんでした。さらに、どのオプティマイザーを使用するかを設定する場所が見つかりませんでした。