Java 实体转换
public <E, D> E transformEntity(D d, E e) {
try {
Method[] dtoMethods = d.getClass().getMethods();
Method[] entityMethods = e.getClass().getMethods();
for (Method dtoMethod : dtoMethods) {
if (dtoMethod.getName().startsWith("get")) {
Object getResult = dtoMethod.invoke(d);
String methodSuffix = dtoMethod.getName().substring(3);
for (Method entityMethod : entityMethods) {
String entityMethodName = entityMethod.getName();
if (entityMethodName.startsWith("set") && methodSuffix.equals(entityMethodName.substring(3))) {
entityMethod.invoke(e, getResult);
break;
}
}
}
}
} catch (Exception exception) {
LOGGER.error("Tansform Entity failed ! ", exception);
}
return e;
}