繁体   English   中英

合并休眠对象时出现问题

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM