我有複數定義的表名。但我的課程單數命名。 例如 表名:員工 Java的類名:公共類Employee {JPA 2.1自定義命名策略?
另外我們的代碼約定定義規則,所有成員域/變量必須有前綴m_salery 例如 的ColumnName: Salery Java的字段名: m_salery
現在我的問題: 什麼是JPA 2.1標準的方式來定義一個默認的表名策略和columnNmae策略命名?如果我需要手動定義所有的java-fields和Entity-Annotations,我會發瘋的。
我有複數定義的表名。但我的課程單數命名。 例如 表名:員工 Java的類名:公共類Employee {JPA 2.1自定義命名策略?
另外我們的代碼約定定義規則,所有成員域/變量必須有前綴m_salery 例如 的ColumnName: Salery Java的字段名: m_salery
現在我的問題: 什麼是JPA 2.1標準的方式來定義一個默認的表名策略和columnNmae策略命名?如果我需要手動定義所有的java-fields和Entity-Annotations,我會發瘋的。
JPA不提供任何全局適用的模板表/列名稱策略。不幸的是,由於您的代碼約定,您將不得不使用JPA註釋(如@Table(name=...)
和@Column(name=...)
)手動指定表名稱和列名稱。
在這裏避免這些代碼慣例似乎是適當的。
通常會採用代碼約定來提高源代碼的可讀性並使軟件維護更容易。在這種特殊情況下,公約並沒有改善這兩種情況。
這就是爲什麼採用非標準約定,比如用'm_'前綴字段名稱是一個非常非常糟糕的主意的原因之一。 –
許多IDE可以使用正確的註釋生成實體類和列,如果您可以指定數據庫憑證 – zencv