1

"draft"タイムスタンプとして保存された列 set_up_time を含むテーブルを持つ postgres データベースがあります。

@Column(nullable = false)
@Type(type = "org.jadira.usertype.dateandtime.joda.PersistentLocalDateTime")
LocalDateTime setUpTime;

ある理由から、この構造をそのままにしておく必要があります。ただし、データベース クエリを期待していますsearching for records, for setUpTime as LocalDateTime and setUpTime as LocalDate。hibernate が setUpTime のこれらの両方のタイプでデータベースにクエリを実行し、それに応じて結果を返すようにマップするにはどうすればよいですか?

私が使用しているスキーマは次のとおりです。

"create table draft (dtype varchar(31) not null, id int8 not null, creation_time timestamp not null, cust_ord varchar(1), description varchar(255), amount decimal(12, 2), user varchar(6), txn_time timestamp, text1from varchar(36), text2from varchar(36), text3from varchar(36), primary key (id))"
4

1 に答える 1

0

あなたができることは、次のようにクエリを書くことです:

public void findDrafts(LocalDate targetDate) {
    final Query query = entityManager.createQuery(
      "from Draft where setUpTime => :beginOfDay and setUpTime < :beginOfNextDay");
    query.setParameter("beginOfDay", targetDate.toDateTimeAtStartOfDay().toLocalDateTime());
    query.setParameter("beginOfNextDay", targetDate.plusDays(1).toDateTimeAtStartOfDay().toLocalDateTime());
    return query.getResultList();
}
于 2013-05-29T13:51:29.783 に答える