Ehi amici basta usare la mia classe ReflectionUtil creata per copiare i valori di un bean in un altro bean simile. Questa classe inoltre copierà l'oggetto Collections.
https://github.com/vijayshegokar/Java/blob/master/Utility/src/common/util/reflection/ReflectionUtil.java
Nota: Questo bean deve avere simile nome variabili con il tipo e hanno getter e setter per loro.
Ora vengono aggiunte ulteriori funzionalità. Puoi anche copiare i dati di un'entità nel suo bean. Se un'entità ha un'altra entità in essa, è possibile passare l'opzione mappa per la modifica di runtime dell'entità interna al relativo bean.
Es.
ParentEntity parentEntityObject = getParentDataFromDB();
Map<Class<?>, Class<?>> map = new HashMap<Class<?>, Class<?>>();
map.put(InnerBean1.class, InnerEntity1.class);
map.put(InnerBean2.class, InnerEntity2.class);
ParentBean parent = ReflectionUtil.copy(ParentBean.class, parentEntityObject, map);
Questo caso è molto utile quando i vostri Entità contiene relazione.
fonte
2014-02-07 10:02:09
Um, BeanUtils.copyProperties() * è * il modo corretto. È in quella libreria perché non esiste un modo semplice per farlo diversamente. Se davvero non si desidera utilizzare BeanUtils, quindi scaricare il codice sorgente per esso e copiare il metodo. – skaffman
skaffman - Non ho visto il tuo commento quando ho postato la mia risposta, mi dispiace. Ma come puoi vedere sono completamente d'accordo con te :) – MetroidFan2002
Nota che Spring include anche un [BeanUtils.copyProperties] (http://static.springsource.org/spring/docs/2.5.x/api/org/springframework/beans /BeanUtils.html) metodo che potrebbe essere più conveniente se stai già utilizzando Spring. – pimlottc