我正在通过类似的东西初始化没有任何XML的Hibernate
org.hibernate.SessionFactory sessionFactory = new org.hibernate.cfg.Configuration(). .setProperty(...) .setProperty(...) ... .buildSessionFactory();
我的班级使用的ID如
@Id @Generated(GenerationTime.INSERT) @GeneratedValue private Integer id;
所用的发电机SequenceStyleGenerator,这似乎是更换为过时SequenceGenerator和SequenceHiLoGenerator和什么。它用
SequenceStyleGenerator
SequenceGenerator
SequenceHiLoGenerator
public static final int DEFAULT_INCREMENT_SIZE = 1;
并且似乎允许通过配置
public static final String INCREMENT_PARAM = "increment_size";
但这就是我所能找到的全部。我想我必须设置一些属性“ xxx.yyy.increment_size”或以其他方式将其传递给Hibernate,但是我看不到如何做。
我知道@SequenceGenerator,但似乎被完全忽略了
@SequenceGenerator
我想您正在寻找如何为设置increment_size属性SequenceSytleGenerator。
increment_size
SequenceSytleGenerator
下面的示例代码段increment_size使用@GenericGenerator带有hilo优化器和SEQUENCE策略的注释进行设置。
@GenericGenerator
hilo
SEQUENCE
@GeneratedValue(strategy = GenerationType.SEQUENCE, generator = "hilo_generator") @GenericGenerator( name = "hilo_generator", strategy = "org.hibernate.id.enhanced.SequenceStyleGenerator", parameters = { // Or leave it out to get "hibernate_sequence". @Parameter(name = "sequence_name", value = "hilo_sequence"), // Or leave it out as this is the default. @Parameter(name = "initial_value", value = "1"), @Parameter(name = "increment_size", value = "5"), @Parameter(name = "optimizer", value = "hilo") })
您无法DEFAULT_INCREMENT_SIZE使用Hibernate配置属性全局设置。您需要改为使用@Id配置属性。
DEFAULT_INCREMENT_SIZE
@Id