HibernateTemplate updateOrSave()方法只update,不save

  今天做表内容复制时,遇到了updateOrSave()方法,数据库中没有数据,却总是执行update方法。

   工作的内容是把两张表的内容复制到另外两张表中,其中要复制的两张表是多对一关系,用来存储的

两张复制表之间也有存储关系,即现在有两张表A和B,要把A和B的内容复制到C和D里面,其中A和B之间是一对多,

C和D之间也是一对多。当获取了A表的内容之后,需要把这些内容复制到C里面,C在做updateOrSave的时候,会自动

的把B的内容复制到D里面,但是C里面的内容却无法复制,老师执行update方法,但是数据库里面根本没有数据。

后来同事帮忙看了一下,原来是C表的POJO上面添加注解:

@SequenceGenerator(name = "generator", allocationSize = 1, sequenceName = "seq_ESBLOGMAINSTORE")

@Id
@GeneratedValue(strategy = SEQUENCE, generator = "generator")
@Column(name = "ID")
public String getId() {

}

这样hibernate在执行updateOrSave的时候总是会去生成一个ID,但是该表的ID不需要自己生成,是直接复制过来的,

把@SequenceGenerator(name = "generator", allocationSize = 1, sequenceName = "seq_ESBLOGMAINSTORE")

和@GeneratedValue(strategy = SEQUENCE, generator = "generator")两个注解去掉即可复制。

HibernateTemplate updateOrSave()方法只update,不save,古老的榕树,5-wow.com

郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。