2013-02-16 40 views
1

mongoDB有没有类似的东西? @Temporal(TemporalType.TIMESTAMP)@Temporal(TemporalType.TIMESTAMP)

@NotNull 
@Temporal(TemporalType.TIMESTAMP) 
@DateTimeFormat(style = "M-") 
private Date lastUpdateDate; 

我试图创建一个字段,将自动更新每当更新文档的“LASTUPDATEDATE”。

OR

在Spring Roo的

场日期--fieldName LASTUPDATEDATE --type java.util.Date --notNull --persistenceType JPA_TIMESTAMP

+0

你能提供有关项目的更多信息?你使用Mongo的SpringData吗? – 2013-02-16 16:06:26

+0

我很想看到类似PrePersist和PreUpdate注释的东西来处理Spring数据中的这些内容,就像他们在JPA中所做的一样。似乎并不是很难实施,但我认为他们没有。 – CodeChimp 2013-02-18 17:35:39

+0

@David Welch - 是的,我使用SpringData作为mongo。 – Jaxox 2013-02-20 07:37:47

回答

0

环顾四周,我很惊讶地看到,这种事情没有一个好的通用解决方案。就像@CodeChimp说的那样,开箱即用这种东西应该不难。

一个可能的解决方案可能是创建一个注释来标记模型,然后使用AOP,但这需要一些工作。 This article显示了一个有点幼稚的做法。我将代码复制到a gist以快速查看,并且似乎可以很容易地修改您想要执行的操作。

我会尽力在本周末圈回来,并举出一个实际的例子,但您可能想看看是否适合这种解决方案并且感兴趣。

+0

感谢大卫,我对springframe的工作非常陌生,会阅读更多关于它的内容,但如果你有任何实际的例子,那将是非常棒的:) – Jaxox 2013-03-04 20:39:02

1

如果你想要的是'创建一个会自动更新'lastUpdateDate''的字段,那么你可以使用注释:@LastModifiedDate和@EnableMongoAuditing。

@SpringBootApplication 
@EnableMongoAuditing 
public class Application {...} 

public class ModelClass implements Persistable<String> { 
    @LastModifiedDate 
    private Date lastModifiedDate; 
    ... 
} 

基于: http://www.aichengxu.com/java/2261025.htm

相关问题