【发布时间】:2017-09-18 10:45:05
【问题描述】:
我有这样的实体
@Entity
class Dates{
@Column(name="day");
private String day;
@Column(name="year");
private String year;
//getters and setters
//this is I want to have like dateAndyear=day+"-"+year or even create date object based on day and year
private String dateAndyear;
}
我希望在创建实体时自动在实体内部设置此字段 dateAndyear。之后我想在 Criteria API 的“where”子句中使用这个字段。
【问题讨论】:
-
你想用一些代码来详细说明吗?
-
我的最终目标是从日期和年份字段创建 Date 对象,并使用 Criteria Builder 中的“between”函数来搜索实体
-
为什么您的数据库有
day和year列,更重要的是为什么它们是Strings?您应该专注于修复设计,而不是试图解决由它引起的问题。 -
这有一个明确的商业原因。这不是这个问题的主题。这是分布式系统,通过 ETL 通过 DB 交换数据,这是我无法控制的
-
你不必告诉我童话故事。我已经听过足够多的“商业理由”来了解这意味着什么。如果您的数据库支持计算列,您可以尝试(或为其创建触发器)。如果您无法触摸数据库,那么您将不得不忘记在条件查询中使用它的计划并想出其他东西。
标签: java hibernate jpa entity transient