En Java la convención de nomenclatura para las propiedades baño clases (entidades) se hacen del CamelCase manera:Práctica recomendada: ¿la mejor convención de nomenclatura de bases de datos para JPA?
@Entity
public class UserMessage implements Serializable {
@Id
private Integer id;
private String shortTitle;
private String longTitle;
private String htmlMessage;
}
Pero en el mundo de SQL se considera una best practice usar mayúsculas con guiones entre las palabras (como constantes de Java). En el mundo de SQL también se considera una práctica recomendada incluir el nombre de la tabla en los nombres de las columnas, de esta manera las claves externas se denominan en la mayoría de los casos exactamente igual que el ID en la tabla original.
CREATE TABLE USER_MESSAGE (
USER_MESSAGE_ID MEDIUMINT(8) NOT NULL,
USER_MESSAGE_SHORT_TITLE VARCHAR(20),
USER_MESSAGE_LONG_TITLE VARCHAR(80),
USER_MESSAGE_HTML_MESSAGE TEXT NOT NULL
);
¿Debo seguir ambos estándares y usar el atributo de nombre en @Table y @Column? O debería seguir las convenciones de Java y confiar en las asignaciones de JPA predeterminadas.
¿Cuál es el enfoque más común y/o el mejor enfoque en este conflicto de normas?
"Debo seguir ambos estándares y usar el atributo de nombre en @Table y @Column". Esta es tu respuesta. Deje que las anotaciones hagan su trabajo. – Sean
No estoy seguro de que realmente estoy de acuerdo con que esa convención de nombres muy enojada se considera "mejor práctica" en el "mundo SQL". Solo digo ... – BobbyShaftoe