org.aperteworkflow.util.HibernateBeanUtil Maven / Gradle / Ivy
The newest version!
package org.aperteworkflow.util;
import org.hibernate.proxy.HibernateProxy;
import pl.net.bluesoft.rnd.processtool.model.config.*;
import pl.net.bluesoft.rnd.processtool.model.nonpersistent.BpmTaskBean;
import pl.net.bluesoft.rnd.processtool.model.processdata.AbstractProcessInstanceAttribute;
import pl.net.bluesoft.rnd.processtool.model.processdata.ProcessComment;
import pl.net.bluesoft.rnd.processtool.model.processdata.ProcessDeadline;
import pl.net.bluesoft.rnd.processtool.model.processdata.ProcessInstanceAttribute;
import pl.net.bluesoft.util.lang.Lang;
import javax.persistence.Transient;
import javax.xml.bind.annotation.XmlTransient;
import java.lang.reflect.Field;
import java.lang.reflect.Method;
import java.lang.reflect.Modifier;
import java.util.*;
import java.util.logging.Level;
import java.util.logging.Logger;
/**
* @author [email protected]
*/
public class HibernateBeanUtil {
public static T fetchHibernateData(T o) {
if (o == null) {
return null;
}
try {
return new DeepCloner().clone(o);
}
catch (Exception e) {
Logger.getLogger(HibernateBeanUtil.class.toString()).log(Level.SEVERE, e.getMessage(), e);
throw new RuntimeException(e);
}
}
private static class DeepCloner {
private final Map
© 2015 - 2025 Weber Informatics LLC | Privacy Policy