lombok+JPA可能會出什麼麼問題? - jpabuddy

發表於2021-04-27

Lombok是使您的Java程式碼簡潔明瞭的好工具。但是,將其與JPA一起使用時,需要考慮一些事項。在本文中,我們將研究Lombok的濫用如何會損害JPA應用程式的效能,甚至使其崩潰,以及如何避免這種情況,但仍會獲得使用Lombok的好處。

我們開發了JPA Buddy,這是IntelliJ IDEA的外掛,旨在簡化JPA的使用。在為它編寫一行程式碼之前,我們在GitHub上進行了許多專案來了解人們如何使用JPA。事實證明,他們中的許多人都使用lombok作為他們的實體。

在您的JPA專案中使用Lombok絕對很好,但是有一些警告。在分析專案時,我們看到人們一遍又一遍地陷入相同的陷阱。這就是為什麼我們向JPA Buddy引入了許多針對Lombok的程式碼檢查的原因。本文顯示了將Lombok與JPA實體一起使用時可能會遇到的最常見問題。

詳情點選標題,結論:

Lombok使您的程式碼看起來更好,但是與使用任何類似魔術的工具一樣,重要的是要了解其工作原理以及何時使用它。您還可以依靠開發工具為您預測潛在的問題。否則,您可能會意外地損害應用程式的效能,甚至破壞某些內容。

使用JPA和Lombok時,請記住以下規則:

  • 使用JPA實體時避免使用lombok的@EqualsAndHashCode和@Data;
  • 使用@ToString時始終排除惰性lazy屬性;
  • 別忘了用@Builder和@AllArgsConstructor將@NoArgsConstructor新增到實體。

或讓JPA Buddy為您記住它們:其程式碼檢查始終在您的身邊。

相關文章