後端資料庫的欄位(Column)名稱有底線,如 user_id
所以原先我的 Java Bean 屬性(field)也命名為 user_id
結果在 Repository 注入時發生問題
方法 findAllByUser_Id 找不到 user 這個欄位
顯然底線被斷了
因此命名還是得遵照駝峰式(Camel case)
不能有底線
那問題來了
這樣跟資料庫不一致要如何 mapping 呢?
需要額外註解
@Entity
@Table(name="system_user")
public class User {
@Column(name="user_id")
private String userId;
}
如果 Table 命名與 class 不同,就註解資料表的實際名稱
如果 Column 命名與 field 不同,就註解欄位的實際名稱