任务。
外地 dates
有型 date
在 数据库.
create table items
(
id serial primary key,
dates date
);
实体: / 字段 "date",类型 "LocalDate"。
@Entity
@Table(name = "items")
public class Item {
private LocalDate date;
@Column(name = "dates")
public LocalDate getDate() {
return date;
}
}
class UserStore:
class UserStore {
private final SessionFactory factory = new Configuration()
.configure().buildSessionFactory();
public List<?> findByDate() {
Session session = factory.openSession();
session.beginTransaction();
final String sql = "from Item i where i.date between ?1 and ?2";
Query query = session.createQuery(sql, Item.class);
query.setParameter(1, LocalDate.now());
query.setParameter(2, LocalDate.now());
List<?> result = query.getResultList();
session.getTransaction().commit();
session.close();
return result;
}
}
pom.xml
<!-- https://mvnrepository.com/artifact/org.hibernate/hibernate-core -->
<dependency>
<groupId>org.hibernate</groupId>
<artifactId>hibernate-core</artifactId>
<version>5.4.12.Final</version>
</dependency>
<!-- https://mvnrepository.com/artifact/org.hibernate/hibernate-java8 -->
<dependency>
<groupId>org.hibernate</groupId>
<artifactId>hibernate-java8</artifactId>
<version>5.4.17.Final</version>
</dependency>
添加。
<property name="dialect">org.hibernate.dialect.PostgreSQL9Dialect</property>
在sql请求中, "from Item i where 一、日期 1和2之间",场 一、日期 用红色高亮显示,表示有 jpa错误 并要求使用Date类型。
如果我使用类型 Date
而是 LocalDate
错误的逃避。但我需要 LocalDate
型。
如何解决?
ps. 代码编译正确.代码实现不重要.问题一: 如何在不关闭检查的情况下消除错误。
移除 hibernate-java8
汝之器物 pom.xml
. 它是 弃用. 该 hibernate-core
就可以了。我已经测试了你的查询,对我来说,它的效果很好。LocalDate
.