实际上在Spring中有一个投影界面。像这样:
public interface DaoObjectProjection{
Integer getTotalAmount();
String getCode();
String getName();
String getLastName();
}
而且我想将其发送到另一个微服务,我知道不能发送该接口,因为如果使用RestTemplate,则代理功能将无法正常工作。由于这些原因,我使用了另一个像这样的对象:
public class ObjectWantSend {
private Integer totalAmount;
private String code;
private String name;
private String lastName;
//Getters
//Setters
}
我的问题是否存在将我的投影接口直接解析到该对象的方法,或者需要像这样逐个设置:
ObjectWantSend.setTotalAmount(DaoObjectProjection.getTotalAmount);
我在Spring中使用Hibernate。
我认为,就像其他用户所说的,您应该使用MapStruct。这可以解决您的问题:
@Mapper
public interface ObjectMapper {
ObjectMapper INSTANCE = Mappers.getMapper( ObjectMapper.class );
@Mapping(source = "totalAmount", target = "totalAmount")
ObjectWantSend objectWantSend(DaoObjectProjection aux);
}
该库在Spring和Hibernate中工作得很好。希望您觉得它有用。