No dejes de divulgar nuestro sitio y códigos en tus redes, apóyanos para ampliar esta comunidad.
Solución:
En hibernate 5, sería
spring.jpa.hibernate.naming.physical-strategy=org.hibernate.boot.model.naming.PhysicalNamingStrategyStandardImpl
en tus aplicación.propiedades expediente.
La solución es agregar:
spring.jpa.hibernate.naming_strategy=org.hibernate.cfg.EJB3NamingStrategy
para application.properties
Como sugirió @jasonleakey, podemos considerar usar la estrategia de nombres como se muestra a continuación.
spring.jpa.hibernate.naming.physical-strategy=org.hibernate.boot.model.naming.PhysicalNamingStrategyStandardImpl
esto le dice a Hibernate que genere SQL exactamente como se especifica en @Table (name=” “) o @Column(name=” “). Todo bien.
Pero tenga en cuenta que al usar PhysicalNamingStrategy sin @Table, @Column anotaciones en la clase de entidad, hibernate genera SQL usando el nombre de la clase y los nombres de las variables. Considere la siguiente clase de Java
Class Employee
private String firstName;
private String lastName;
entonces el sql generado sería,
select employee0_.firstName,employee0_lastName from Employee employee0_;
Desafortunadamente, esta no es una gran opción, ya que normalmente habríamos definido las columnas en la base de datos como FIRST_NAME y LAST_NAME y el nombre de la tabla como EMPLOYEE. Si no hubiera usado PhysicalNamingStrategy, el SQL habría sido
select employee0_.first_name,employee0_last_name from employee employee0_;
por lo que es realmente una elección entre las siguientes dos opciones.
- Use PhysicalStrategy y defina explícitamente todos los nombres de tablas/columnas en código java con anotaciones @Table y @Column.
o - Defina el nombre de la tabla en minúsculas en db y deje que hibernate genere automáticamente nombres de tablas/columnas para nosotros.
Acuérdate de que tienes autorización de agregar una reseña si te fue útil.