Как создать клон объекта в Java?
В Java для клонирования объектов используется интерфейс Cloneable, он Вам не подходит?examplepackage my.cloneable;

class User implements Cloneable {
       private String name;
       private int age;
      
       public String getName() {
             return name;
       }
       public void setName(String name) {
             this.name = name;
       }
       public int getAge() {
             return age;
       }
       public void setAge(int age) {
             this.age = age;
       }
      
       public User clone() throws CloneNotSupportedException {
             return (User)super.clone();
       }
}

public class App {

       public static void main(String[] args) {
            
             User user = new User();
            
             user.setName("Иванов");
             user.setAge(25);
            
             System.out.println("Данные до клонирования: " +
user.getName() + " - " + user.getAge() + "лет");
            
             User clone;
             try {
                    clone = user.clone();
                    clone.setName("Петров");
                    clone.setAge(30);
                    System.out.println("Клон после изменения данные: " +
                           clone.getName() + " - " + clone.getAge() + "лет");
                   
             } catch (CloneNotSupportedException e) {
                    System.out.println("Объект не может быть клонированным.");
             }
            
            
             System.out.println("Оригинал, после манипуляций с клоном: " +
 user.getName() + " - " + user.getAge() + "лет");
       }
}/* результат:
Данные до клонирования: Иванов - 25лет
Клон после изменения данные: Петров - 30лет
Оригинал, после манипуляций с клоном: Иванов - 25лет
 */
У вас 2 варианта:Использовать какую-либо библиотеку для глубокого клонирования. Плюс в гораздо меньшем количестве бездумного кодинга. Минус в падении производительности и повышенном потреблении ресурсов. Если количество операций клонирования в приложении менее сотни в секунду, то можно не беспокоится по поводу производительности.Писать всё клонирование самому, поле за полем. Плюс в высокой производительности - ни одна универсальная библиотека не сравнится в скорости с таким подходом. Минус в массе говнокода, который еще и поддерживать надо (при любом изменении класса не забывать дорабатывать методы clone())