当前位置: 首页 > news >正文

制作一个网站首页公司注册

制作一个网站首页,公司注册,视觉设计网站建设,wordpress删除垃圾评论我正在尝试使用审计来在我的对象中保存dateCreated和dateUpdated,但由于我手动设置了ID,所以还有一些额外的工作.遵循Oliver Gierke在DATAMONGO-946的建议我想弄清楚如何正确实现它.package hello;import org.springframework.data.annotation.CreatedDate;import org.springfr…

我正在尝试使用审计来在我的对象中保存dateCreated和dateUpdated,但由于我手动设置了ID,所以还有一些额外的工作.

遵循Oliver Gierke在DATAMONGO-946的建议

我想弄清楚如何正确实现它.

package hello;

import org.springframework.data.annotation.CreatedDate;

import org.springframework.data.annotation.Id;

import org.springframework.data.annotation.LastModifiedDate;

import org.springframework.data.domain.Persistable;

import java.util.Date;

public class Customer implements Persistable {

@Id

private String id;

@CreatedDate

private Date createdDate;

@LastModifiedDate

private Date lastModifiedDate;

private String firstName;

private String lastName;

private boolean persisted;

public Customer() {

}

public Customer(String firstName, String lastName) {

this.firstName = firstName;

this.lastName = lastName;

}

public void setPersisted(boolean persisted) {

this.persisted = persisted;

}

@Override

public String getId() {

return id;

}

public void setId(String id) {

this.id = id;

}

@Override

public boolean isNew() {

return !persisted;

}

@Override

public String toString() {

return String.format(

"Customer[id=%s, createdDate=%s, lastModifiedDate=%s, firstName='%s', lastName='%s']",

id, createdDate, lastModifiedDate, firstName, lastName);

}

}

package hello;

import org.springframework.beans.factory.annotation.Autowired;

import org.springframework.boot.CommandLineRunner;

import org.springframework.boot.SpringApplication;

import org.springframework.boot.autoconfigure.SpringBootApplication;

import org.springframework.data.mongodb.config.EnableMongoAuditing;

@SpringBootApplication

@EnableMongoAuditing

public class Application implements CommandLineRunner {

@Autowired

private CustomerRepository repository;

public static void main(String[] args) {

SpringApplication.run(Application.class, args);

}

@Override

public void run(String... args) throws Exception {

repository.deleteAll();

// create a customer

Customer c = new Customer("Alice", "Smith");

c.setId("test_id");

// save a customer

repository.save(c);

// fetch all customers

System.out.println("Customers found with findAll():");

System.out.println("-------------------------------");

for (Customer customer : repository.findAll()) {

System.out.println(customer);

}

System.out.println();

// create another customer with same id

c = new Customer("Bob", "Smith");

c.setId("test_id");

c.setPersisted(true);

repository.save(c);

// fetch all customers

System.out.println("Customers found with findAll():");

System.out.println("-------------------------------");

for (Customer customer : repository.findAll()) {

System.out.println(customer);

}

System.out.println();

}

}

执行结果如下:

Customers found with findAll():

-------------------------------

Customer[id=test_id, createdDate=Wed Feb 24 00:43:47 WITA 2016, lastModifiedDate=Wed Feb 24 00:43:47 WITA 2016, firstName='Alice', lastName='Smith']

Customers found with findAll():

-------------------------------

Customer[id=test_id, createdDate=null, lastModifiedDate=Wed Feb 24 00:43:47 WITA 2016, firstName='Bob', lastName='Smith']

对象更新后,createdDate变为null.

我在这里错过了什么?如何正确实施Persistable使审计工作正常进行?

解决方法:

您的代码按预期工作.在实现Persistable之后,您可以看到@CreatedDate注释正在运行.

当第二次调用save时,createdDate为null,因为该对象已存在于数据库中,并且您使用createdDate = null更新了它.正如您从@CreatedDate的文档中看到的:

@CreatedDate annotation. This identifies the field whose value is set

when the entity is persisted to the database for the first time.

因此,不要在第二次调用时用null覆盖您的createdDate,您应该使用c = repository.findOne(“test_id”)从数据库中检索您的客户;然后更新它.

标签:java,spring,mongodb,spring-data,spring-data-mongodb

来源: https://codeday.me/bug/20191006/1858220.html

http://www.lbrq.cn/news/2669851.html

相关文章:

  • wordpress视频缩略图插件班级优化大师的利和弊
  • 宁波网站建设公司排名广西壮族自治区在线seo关键词排名优化
  • 上海企业网站建设哪家好seo网站诊断分析报告
  • 知名企业网站搭建品牌深圳百度推广优化
  • 公司网站建设大概多少钱百度软件下载安装
  • 网站建设哪里好百度竞价点击软件
  • 郑州定制网站推广工具产品百度seo关键词排名优化
  • 中铁集团网站建设营销技巧和营销方法培训
  • dz网站收款即时到账怎么做的宁波seo软件
  • 河南建筑公司网站开鲁seo服务
  • 化妆品网站建设推广方案百度助手
  • 中国建设银行湖北省分行网站整站优化是什么意思
  • wordpress是否可以排版杭州seo代理公司
  • 海南网站优化百度手机助手免费下载
  • 兰州seo安安网站建设浙江seo外包费用
  • 深圳专业做网站服务网络营销成功案例有哪些
  • 浏览器正能量网站免费软件网店运营
  • 众创空间网站建设方案互联网登录的网站名
  • 青岛网站建设康之迅b站是哪个网站
  • 请别人做网站有风险吗全网seo优化电话
  • wordpress 社交插件襄阳网站seo
  • 河北住房和城乡建设网站国内最新的新闻
  • 网站首页动画效果太原seo快速排名怎么样
  • wordpress4.8.2优化分析
  • wordpress电话修改seo怎么发布外链
  • dede title 我的网站投放广告的渠道有哪些
  • 茶企业网站优化大师如何删掉多余的学生
  • 廊坊制作网站公司原画培训机构哪里好
  • 中企动力做的网站怎么样宁波seo入门教程
  • 深圳公司做年报网站搜索引擎优化方法总结
  • wordpress文章摘要调用的3种方法
  • JavaScript垃圾回收机制
  • 06-docker容器常用命令
  • vue3上传的文件在线查看
  • dify离线插件安装
  • Openlayers基础教程|从前端框架到GIS开发系列课程(19)地图控件和矢量图形绘制