Ich baue einen REST-Webservice mit Spring (Boot) und versuche, Hibernate als Orm Mapper ohne XML-Konfiguration zu verwenden.Hibernate Benennungsstrategie
Ich habe es im Grunde genommen zu arbeiten, aber ich bin mit einem Konfigurationsproblem fest. Ich instanziiere LocalContainerEntityManagerFactoryBean als @Bean in einer @ Konfigurationsdatei. Ich setze hibernate.ejb.naming_strategy wie im folgenden Beispiel -> dies scheint zu funktionieren, um die Tabellen zu erstellen, wenn sie nicht existieren (Spaltennamen sind camelCase wie in meinen @Entity-Klassen), aber wenn eine Abfrage ausgeführt wird, vergisst "hibernate" "über diese Benennung Konfiguration und versucht, eine andere Art von Benennungsstrategie mit Under_score_attributes -> natürlich diese Abfragen fehlschlagen. Gibt es noch eine andere Eigenschaft, die ich einstellen muss? Oder eine andere Möglichkeit, die Eigenschaften zu konfigurieren, vorzugsweise ohne Hinzufügen einer cfg.xml oder persistence.xml?
LocalContainerEntityManagerFactoryBean lef = new LocalContainerEntityManagerFactoryBean();
Properties props = new Properties();
props.put("hibernate.hbm2ddl.auto", "create");
props.put("hibernate.ejb.naming_strategy","org.hibernate.cfg.DefaultNamingStrategy");
lef.setJpaProperties(props);
lef.afterPropertiesSet();
yep danke. Das sieht nach dem richtigen Weg aus! – Alex
aber wo finde ich Dokumentation für diese Eigenschaften ?! – Alex
und um meinen Kommentar zu beantworten: https://github.com/spring-projects/spring-boot/blob/master/docs/application.yml das ist sehr nützlich ... für alle Autokonfigurationseigenschaften – Alex