2 回答

TA貢獻(xiàn)1847條經(jīng)驗(yàn) 獲得超11個(gè)贊
我發(fā)現(xiàn)這是 hibernate 5.3 的新行為:
在SequenceStyleGenerator.determineSequenceName添加代碼的方法中:
final Boolean preferGeneratorNameAsDefaultName = serviceRegistry.getService( ConfigurationService.class )
.getSetting( AvailableSettings.PREFER_GENERATOR_NAME_AS_DEFAULT_SEQUENCE_NAME, StandardConverters.BOOLEAN, true );
if ( preferGeneratorNameAsDefaultName ) {
final String generatorName = params.getProperty( IdentifierGenerator.GENERATOR_NAME );
if ( StringHelper.isNotEmpty( generatorName ) ) {
fallbackSequenceName = generatorName;
}
}
新的默認(rèn)行為是使用生成器名稱(chēng)作為序列名稱(chēng)。所以從hibernate 5.2遷移到5.3有兩種可能:
將生成器名稱(chēng)更改為序列名稱(chēng)
通過(guò)在休眠配置(或生成器參數(shù))中設(shè)置hibernate.model.generator_name_as_sequence_name為不使用生成器名稱(chēng),恢復(fù)到休眠 5.2- 行為false
添加回答
舉報(bào)