[英]Problems merging Hibernate objects
我是刚在Stackoverflow上发布内容的新手,但是我一直使用它,帮助我进行编码非常棒。
我的问题如下:我收到一个由SOAP填充在WebService中的对象,如下所示:
@WebMethod(operationName = "DogUpdate")
public @WebResult(name = "resultId")
Long dogUpdate(
@WebParam(name = "DogDto", header = true, mode = Mode.IN) DogDto dog);
因此,现在我需要使用Hibernate 5.0.2更新数据库。
DogDto类是这样的:
Entity
@Table(name="Dog", indexes={}, uniqueConstraints={})
class Dog implements Dog_i
{
@GeneratedValue(strategy=GenerationType.SEQUENCE, generator="DOG_SEQ")
@SequenceGenerator(name="DOG_SEQ", sequenceName="DOG_SEQ", allocationSize=1)
@Id
@Column(name="ID", unique=true, nullable=false)
private Long id;
@Column(name="Name", length=30)
private String name;
@Column(name="BirthDate")
private Date birthDate;
@Column(name="NumberDogSons")
private Long numberDogSons;
@Column(name="namesDogSons")
private List<String> namesDogSons;
}
所以我的问题是我不知道在WebService中收到的DogDto的值是什么,所以我不知道需要更改什么。
我看到反射可以帮助您,但是我有一个复杂的对象,例如(在对象狗中列出,并像“所有者”和其他对象一样)
我该如何用信息更新对象而不丢失? 因为如果字段为空(当是Long,Integer,int ...时),则显示为0和其他相关问题。
你有什么建议吗?
非常感谢大家:)
所以我的问题是我不知道在WebService中收到的DogDto的值是什么,所以我不知道需要更改什么。
从上面的代码中,您似乎得到了“ DogDto dog”。
您只需要使用saveOrUpdate方法使休眠对象持久化此狗对象。
如果您的ID定义正确,则Hibernate将更新现有ID(如果存在),否则将插入一个新ID。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.