2016-08-30 29 views
13

Yay önyüklemesi 1.4.0 olan bir uygulamada hazırda bekletme modunu kullanıyorum.RELEASE.Hazırda bekletilen MultipleHiLoPerTableGenerator'un Hazırda Bekletme Sırasındaki TableGenerator ile değiştirilmesi

@Entity(name = "SearchableTariffItem") 
@Indexed 
public class SearchableTariffItem { 
    public static final String ZIFFER_ANALYZER_NAME = "ZIFFER_ANALYZER"; 

    @GeneratedValue(strategy = GenerationType.TABLE) 
    @Id 
    private Long id; 
    ... 
} 

ilk kez varlık kaydederken şimdi aşağıdaki uyarıyı almak:

2016-08-26 15:08:32.501 WARN 8476 — [apr-8080-exec-6] org.hibernate.orm.deprecation : HHH90000015: Found use of deprecated [org.hibernate.id.MultipleHiLoPerTableGenerator] table-based id generator; use org.hibernate.id.enhanced.TableGenerator instead. See Hibernate Domain Model Mapping Guide for details. 

Maalesef ı don

endeksi için

Entity çizgisinde bir şey görünüyor TableGenerator sınıfını kullanmak için uygulamanızı nerede yapılandırabileceğimi (tercihen bir application.yml) biliyorum.

Aşağıdaki bağımlılık kullanın:

  • hazırda çekirdek 5.0.9.Final
  • hazırda ara orm 5.5.1.Final
  • Lucene 5.3.1

cevap

34

özelliği, bu Bu davranış, hazırda bekletme,olan ve varsayılan olarak Hazırda bekletme 5 -> için geçerli olan TableGenerator öğesinin kullanılmayan MultipleHiLoPerTableGenerator yerine kullanılacağı anlamına gelir.

Spring Boot, bu özelliği varsayılan olarak false değerine getirir; bu, eski jeneratörü kullanacağınızı açıkça belirtirseniz eski jeneratörün kullanılacağı anlamına gelir. TableGenerator ürününü almak için spring.jpa.hibernate.use-new-id-generator-mappings özelliğini true olarak ayarlamanız gerekir.

da "Tablo hibernate_sequences kolon sequence_next_hi_value next_val için adlandırmak değiştirmek;"

+1

Spring Boot'un bunu neden yanlış yaptığını biliyor musunuz? – GabrielBB