我有一个如下所示的SQL模板:
Select a.*
from A a
inner join B b
on a.a1=b.b1
where a.a2 >= (?1) and
a.a2 < (?2) and
b.b2 IN ({0});
a2是DATE字段。表A在a2&amp; amp;上分区。 a2上存在索引。 Java中相应的DB实体如下所示:
aDb {
Long a1;
org.joda.DateTime a2;
@Column(name="a2", length=7)
@Type(type="org.joda.time.contrib.hibernate.PersistentDateTime")
public DateTime getA2() {
return this.a2;
}
}
由于时间戳被发送到查询中,因此未使用索引。这导致查询需要很长时间!
我尝试将to_date添加到查询&amp; HQL不支持它。我不能使用JPQL,因为我在运行时构建查询(如{0}所示)。
有没有办法可以发送DATE作为(?1)&amp; (θ2)