gpt4 book ai didi

java - Spring Roo 时间戳问题 : 1. 2.2 作为日期,1.2.4 作为日历

转载 作者:太空宇宙 更新时间:2023-11-04 07:11:31 25 4
gpt4 key购买 nike

我有一个正在尝试构建的 Spring Roo (1.2.2) 项目。从干净的 SCM 结账中,mvn clean install构建得很好。

但是,当我将项目导入到我的 SpringSource Tool Suite IDE(与 m2eclipse 和 Roo 1.2.4 一起打包)中时,Eclipse 会调用 roo更新 POM 的 <roo.version> ,然后更新实体方面。此后,所有带有 java.util.Date 的方法参数/返回类型不再起作用,因为编译生成 symbol not found Date 上的错误字段。

如何让 Roo 生成类型为 Date 的方面而不是Calendar

错误日志

[ERROR] /Users/jjzabkar/project/src/main/java/com/so/FooBar.java:209:0::0 The method setTokenExpires(Calendar) in the type FooBar is not applicable for the arguments (Date)  
[ERROR] error at account.setLastaccessTime(Calendar.getInstance().getTime());

研究

旧 POM

<roo.version>1.2.2.RELEASE</roo.version>

更新了 POM

<roo.version>1.2.4.RELEASE</roo.version>

FooBar.java实体

@RooJavaBean
@RooToString
@RooJpaActiveRecord(versionField = "", table = "foo_bar")
@RooDbManaged(automaticallyDelete = true)
public class FooBar {
}

Roo 版本 1.2.2 的之前方面

privileged aspect FooBar_Roo_DbManaged {
...
@Column(name = "lastaccess_time")
@NotNull
@Temporal(TemporalType.TIMESTAMP)
@DateTimeFormat(style = "M-")
private Date FooBar.lastaccessTime;

public Date FooBar.getLastaccessTime() {
return lastaccessTime;
}

public void FooBar.setLastaccessTime(Date lastaccessTime) {
this.lastaccessTime = lastaccessTime;
}

}

Roo 版本 1.2.4 之后方面

privileged aspect FooBar_Roo_DbManaged {
...
@Column(name = "lastaccess_time")
@NotNull
@Temporal(TemporalType.TIMESTAMP)
@DateTimeFormat(style = "MM")
private Calendar FooBar.lastaccessTime;

public Calendar FooBar.getLastaccessTime() {
return lastaccessTime;
}

public void FooBar.setLastaccessTime(Calendar lastaccessTime) {
this.lastaccessTime = lastaccessTime;
}

}

最佳答案

在更新到 Roo 1.2.4 之前,您应该将日期字段插入 .java,这样 Roo 就不会再次生成它们,也不会将类型更改为日历。

关于java - Spring Roo 时间戳问题 : 1. 2.2 作为日期,1.2.4 作为日历,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20577063/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com