Mi estrategia de nomenclatura en Hibernate fue la predeterminada: EJB3NamingStrategy. Entonces los nombres de campo y tabla estaban en camelcase. Lo cambié a ImprovedNamingStrategy para tener snakecase.EJB3NamingStrategy vs ImprovedNamingStrategy Denominación de clave externa
Pero mis claves foráneas no incluyen el nombre de la clave principal de la entidad al que se hace referencia en el nombre.
Ejemplo:
tabla1: Identificación del nombre
Con EJB3NamingStrategy los campos Tabla2 serán:
Tabla2: Identificación del table1_id
pero con ImprovedNamingStrategy los campos Tabla2 será : tabla2: id table1
Hay una manera de tener _id con la estrategia de ImprovedNamingStrategy. No entiendo por qué Hibernate se comporta de manera diferente porque el método logicalCollectionColumnName en ambas estrategias es idéntico.
el parámetro recibido en logicalCollectionColumnName ya contiene column_id si uso EJB3NamingStrategy pero si uso ImprovedNamingStrategy el parámetro no lo recibe. No entiendo por qué. Este método se llama desde otro lugar en el código. – Mike
Si su escritura, no estaba buscando el método correcto. La parte id está comentada – Mike