@DynamicUpdate
来源:4-2 买家类目-dao(下)
qq_Loveyoulovef_0
2018-12-19
package com.im.sell.entity;
import lombok.Data;
import org.hibernate.annotations.DynamicUpdate;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.Id;
import java.util.Date;
@Entity
@DynamicUpdate
@Data
public class ProductCategory {
@Id
@GeneratedValue
private Integer categoryId;
private String categoryName;
private Integer categoryType;
private Date createTime;
private Date updateTime;
public ProductCategory() {
}
public ProductCategory(String categoryName, Integer categoryType) {
this.categoryName = categoryName;
this.categoryType = categoryType;
}
public ProductCategory categoryName(String categoryName) {
this.categoryName = categoryName;
return this;
}
public ProductCategory categoryType(Integer categoryType) {
this.categoryType = categoryType;
return this;
}
}
@Test
public void testUpdate() {
ProductCategory category = new ProductCategory();
category.setCategoryName(“有机食品”);
category.setCategoryType(3);
category.setCategoryId(1);
/* ProductCategory productCategory = productCategoryDao.findOne(1);
productCategory.setCategoryType(4);
productCategory.setCategoryName("有机红茶");*/
ProductCategory targetCategory = productCategoryDao.save(category);
System.out.println(targetCategory.toString());
Assert.assertNotNull(targetCategory);
}
数据库中有个categoryId为1,categoryType为2的记录,我自己构造一个类目对象,按照上面贴出的测试进行更新,发现数据库中的创建时间和更新时间 一起变化控制台打印出的SQL是这个样子的:Hibernate: update product_category set category_name=?, category_type=?, create_time=?, update_time=? where category_id=?,但是我从数据库中将这条数据查出来然后更新,就是可以的。很奇怪,不懂,请老师指点一下?
1回答
-
廖师兄
2018-12-19
你的疑问是什么呢?“创建时间和更新时间”不应该更新?
发出你的数据库建表语句来,让我看看是怎么写的。
另外,你问题里,可以把所有的代码都格式化,部分格式化,看着很别扭。
00
相似问题