lombok+JPA可能会出现什么问题? - jpabuddy


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为您记住它们:其代码检查始终在您的身边。