Trong Java quy ước đặt tên cho các thuộc tính en lớp (thực thể) được thực hiện các CamelCase cách:Thực tiễn tốt nhất: quy ước đặt tên cơ sở dữ liệu tốt nhất cho JPA?
@Entity
public class UserMessage implements Serializable {
@Id
private Integer id;
private String shortTitle;
private String longTitle;
private String htmlMessage;
}
Nhưng trong thế giới SQL nó được coi là một best practice sử dụng chữ in hoa với dấu gạch giữa các từ (như hằng Java). Trong thế giới SQL cũng được coi là thực hành tốt nhất để bao gồm tên bảng trong các tên cột, theo cách này, các khóa ngoại nằm trong hầu hết các trường hợp được đặt tên giống hệt như id trong bảng gốc.
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
);
Tôi có nên theo cả hai tiêu chuẩn và sử dụng thuộc tính tên trên @Table và @Column không? Hoặc tôi nên làm theo các quy ước Java và dựa vào ánh xạ JPA mặc định.
Cách tiếp cận phổ biến nhất và/hoặc cách tiếp cận tốt nhất về xung đột tiêu chuẩn này là gì?
"Tôi có nên tuân thủ cả hai tiêu chuẩn và sử dụng thuộc tính tên trên @Table và @Column". Đây là câu trả lời của bạn. Hãy để chú thích thực hiện công việc của họ. – Sean
Tôi không chắc chắn rằng tôi thực sự đồng ý rằng quy ước đặt tên rất tức giận được coi là "thực hành tốt nhất" trong "thế giới SQL". Chỉ cần nói ... – BobbyShaftoe