无代码重复的Java实体和BusinessObject



我有一个spring数据jpa应用程序和一个库。库包含一个类,比如Car.java

public class Car{
Long id;
String name;
String color;
.. getter and setter
}

在我的应用程序中,我需要存储这个对象,并希望使用rest存储库。为此,我需要注释类:

@Entity
@Table(name = "customerCar")
public class CarEntity{
@Id
Long id;
String name;
String color;
.. getter and setter
}

有没有一种方法可以在不重复代码和/或不复制的情况下做到这一点?

CarEntity customerCar = new CarEntity();
customerCar.setId(car.getId());
....

使用mapper框架来避免复制样板代码。您可以根据下面提到的性能基准测试选择使用JMapper映射库:

https://www.baeldung.com/java-performance-mapping-frameworks

至少我采用了与@sham非常相似的方法。我使用了Spring Framework 中BeanUtils类的复制属性函数

org.springframework.beans.BeanUtils;
BeanUtils.copyProperties(car,carEntity);

最新更新