최대 절전 모드를 잘못 오라클의 기준 API를 사용하여 날짜 범위를 처리 할 것으로 보인다 작동합니다. SQL 질의 자체는 정확 해 보입니다 (Hibernate에서 복사되어 수동으로 실행되었습니다). 그래서,최대 절전 모드 날짜 기준이 실패하지만 HQL은
이
Clazz<Bar> clazz;
Date start, end;
주어진이 은
List<Bar> bars = sessionFactory.getCurrentSession()
.createCriteria(clazz)
.add(Restrictions.between("timestamp", start, end))
.list();
이
List<Bar> bars = sessionFactory.getCurrentSession()
.createCriteria(clazz)
.add(Restrictions.ge("timestamp", start))
.add(Restrictions.le("timestamp", end))
.list();
실패하지만,이 은
작동 6,List<Bar> bars = sessionFactory.getCurrentSession()
.createQuery("from Bar b where b.timestamp > ? and b.timestamp < ?")
.setDate(0, start)
.setDate(1, end)
.list();
페일 관찰이다
리턴
Bar
결과의 수는 동일 (정정)하지만 기준에
가지 경우
Bar
와 a
List<Foo>
는 대략
10x more 01을 반환합니다. 해당 SQL 쿼리보다개체가 없습니다. 모든 추가
Foo
개체는 동일한 복사본입니다.
편집 시도
@Entity
public class Bar {
@Id
private String id;
@Temporal(TemporalType.TIMESTAMP)
private Date timestamp;
@ManyToMany(cascade = CascadeType.ALL, fetch=FetchType.EAGER)
@JoinTable(
name = "bar_foo",
joinColumns = { @JoinColumn(name = "barid") },
inverseJoinColumns = { @JoinColumn(name = "fooid") }
)
private List<Foo> params;
}
@Entity
public class Foo {
@Id private String id;
}
당신이 바 클래스를 게시하시기 바랍니다 수 없습니다. –
포스트 바, 바인딩 및 테이블 – korifey
@ Floradu88, korifey, 'Bar' 게시 됨. JohanSjöberg합니까 [이 질문과 그에 대한 첫 번째 대답] @ –