更新时间:2022-10-23 21:25:01
让我们来做一些调查(看看Hibernate的源代码):
AnnotationBinder
定义了AUTO的映射方式:
switch(generatorEnum){
// ...
case AUTO:
return useNewGeneratorMappings?
org.hibernate.id.enhanced.SequenceStyleGenerator.class.getName():native;
// ...
如果您不使用NewGeneratorMappings,与本地实施。 Hibernate会根据数据库来解决这个问题(参见这个答案,看看你的特定数据库将会是什么)。 p>
但是,由于您使用了NewGeneratorMappings,因此我们必须查看 SequenceStyleGenerator
:
protected String determineOptimizationStrategy(Properties params,int incrementSize){
// ...一些计算defaultOptimizerStrategy的东西
// OPT_PARAM =优化器
返回ConfigurationHelper.getString(OPT_PARAM,params,defaultOptimizerStrategy);