實體上的註解 EqualsAndHashCode

2022-09-22 20:18:19 字數 1272 閱讀 7764

lombok @equalsandhashcode 的用法

1. 此註解會生成equals(object other) 和 hashcode()方法。

2. 它預設使用非靜態,非瞬態的屬性

3. 可通過引數exclude排除一些屬性

4. 可通過引數of指定僅使用哪些屬性

5. 它預設僅使用該類中定義的屬性且不呼叫父類的方法

6. 可通過callsuper=true解決上一點問題。讓其生成的方法中呼叫父類的方法

另:@data相當於@getter @setter @requiredargsconstructor @tostring @equalsandhashcode這5個註解的合集。

詳細可參考:lombok @equalsandhashcode 的用法 - 白眉大蝦 - (cnblogs.com)

當啟動@equalsandhashcode時,預設不呼叫父類的equals方法,當做型別相等判斷時,會遇到麻煩,例如:

@data

public class people

@data

public class user extends people

public static void main(string args)

輸出結果:true

需要將@equalsandhashcode修改為@equalsandhashcode(callsuper = true)才能得到正確結果.

反編譯修改後的user.class,發現有些許變化

另:@data相當於@getter @setter @requiredargsconstructor @tostring @equalsandhashcode這5個註解的合集。

詳細可參考:lombok @equalsandhashcode 的用法 - 白眉大蝦 - (cnblogs.com)

當啟動@equalsandhashcode時,預設不呼叫父類的equals方法,當做型別相等判斷時,會遇到麻煩,例如:

@data

public class people

@data

public class user extends people

public static void main(string args)

輸出結果:true

需要將@equalsandhashcode修改為@equalsandhashcode(callsuper = true)才能得到正確結果.

反編譯修改後的user.class,發現有些許變化

JPA實體註解

entity name entityname 必須,name為可選,對應資料庫中一的個表 table name catalog schema 可選,通常和 entity配合使用,只能標註在實體的class定義處,表示實體對應的資料庫表的資訊 name 可選,表示表的名稱。預設地,表名和實體名稱一致,...

JPA實體註解

jpa實體註解用例專案位址 參考部落格 關係的擁有方 即many的一方 負責關係的維護,在擁有方建立外來鍵會用到joincolumn。列舉使用manytoone進行實體註解,如建立乙個分類樹形結構的實體。當前實體中manytoone與onetomany對應的實體都是本身 author lx enti...

實體bean, entity 註解設定

id 必須,定義了對映到資料庫表的主鍵的屬性,乙個實體只能有乙個屬性被對映為主 鍵,置於 get x 前。generatedvalue strategy generationtype,generator 可選,用於定義主鍵生成策略。屬性 strategy 表示主鍵生成策略,取值有 generatio...