在同一个表中复制记录的最佳方法是什么?
像这样的东西:
Address address = AddressDAO.get(id);
address.setId(null);
AddressDAO.add(address);
Run Code Online (Sandbox Code Playgroud)
是的,那应该有用.
我不确定hibernate是否不检查对象引用,所以如果这不起作用,您可能需要创建一个新实例并复制所有属性(使用BeanUtils.copyProperties,甚至BeanUtils.cloneBean(..)),然后将ID设置为null/0 .
它会起作用,但最好在域模式下表达您的意图(克隆)。将字段设置为 null 只是一个实现细节,没有任何意义。
Address address = AddressDAO.get(id);
Address clone = address.cloneMe();
AddressDAO.add(clone);
Run Code Online (Sandbox Code Playgroud)