hibernate - 如何从Java中的对象中提取日期
问题描述
我应该从 Object 中提取日期,但编译器正确地告诉我 getDate() 没有在 Object 上定义。我该如何定义它?如果我不能定义它,我做错了什么?我应该使用 Hibernate 库还是流?谢谢你。要将对象转换为 DateRange [],我做了两个步骤:从 Object -> MyObject 然后从 MyObject-> DateRange []
class MyObject extends Object {
Date Lower_Date;
Date Upper_Date;
private MyObject(Date Lower_Date, Date Upper_Date) {
this.Lower_Date = Lower_Date;
this.Upper_Date = Upper_Date;
}
public Date getLowerDate() {
return this.Lower_Date;
}
public Date getUpperDate() {
return this.Upper_Date;
}
}
...
public class Tabella_Parlamentari {
public static DateRange getDateRange(Date a, Date b) {
return new DateRange(a,b);
}
...
try {
if(periodo_carica == null)
periodo_carica = null;
else {
Array pgArray = rs.getArray("periodo_carica");
Object obj = pgArray.getArray();
List<Object> objlist = new ArrayList<Object>();
objlist.add(obj);
List<MyObject> myobjlist = new ArrayList<MyObject>();
myobjlist = objlist.stream()
.filter(e -> e != null)
.map(o -> (MyObject) obj.getDate()) //prima estrai tutte le date
.collect(Collectors.toList());
List<DateRange> periodo_carica2 = new ArrayList<DateRange>();
periodo_carica2 =
myobjlist.stream()
.filter(e -> e != null)
.map(o -> getDateRange(o.getLowerDate(),o.getUpperDate()))
.collect(Collectors.toList());
periodo_carica = periodo_carica2.toArray(DateRange[]::new);
}
/* Stream.Builder<DateRange> dateStreamBuilder = Stream.builder();
Date[] date_intervallo = periodo_carica2.stream().toArray(Date[]::new);
for(int i=0; i< periodo_carica2.size(); i++) {
periodo_carica2.stream().forEach(d -> DateRange(d.getLowerDate(),
d.getUpperDate()));
dateStreamBuilder.accept((DateRange)periodo_carica[i]);
*/
// Stream<DateRange> dateStream = dateStreamBuilder.build();
}
catch(NullPointerException obj) {
periodo_carica = null;
}
解决方案
我不知道你的DateRange
班级,但在我看来你可以这样写你的方法。
public DateRange getDate() {
return new DateRange(Lower_Date, Upper_Date);
}
如果 inMyObject
和 inDateRange
您都使用LocalDate
现代 Java 日期和时间 API,而不是老式的java.util.Date
.
推荐阅读
- vb.net - Webbrowser 控件首次加载页面需要 20-60 秒
- javascript - 相当于带有数字键的对象的拼接
- phpstorm - 项目名称在 PhpStorm 中出现错误
- laravel - 在 Laravel 5.8 或更高版本中使用 Auth::user()->user()
- google-chrome-extension - CWS 支付 API 内部服务器 500 错误
- regex - 正则表达式中的放置问题在长文档中超过 700 个匹配项
- php - 我正在我的网站中测试注入,我收到此错误
- c - 为什么这个例子显式地将字符串的最后一个字符(由`snprintf()`分配)设置为`/0`?
- swift - 如何在 swift 4 的闭包中分配类属性
- docker - 为什么我的 Docker 端口没有正确暴露?