1
최대 절전 모드 필터를 실행하려고합니다. 스레드에서java.lang.IllegalArgumentException : 정의되지 않은 필터 매개 변수 [p1]
예외 "주": 여기
내 POJO 클래스입니다 :@Entity
@Table(name="flight")
@FilterDef(name="f1",[email protected](name="status",type="String"))
@Filter(name="f1",condition="status=:p1")
public class Flight
{
@Id
@Column(name="flightno")
private int flightNumber;
@Column(name="src", length=10)
private String source;
@Column(name="dest",length=10)
private String destination;
@Column(name="status",length=10)
private String status;
//setter & getters
}
그리고 여기 내 주요 클래스 코드입니다 :
public static void main(String[] args)
{
//code for getting SessionFactory Object
Session session=factory.openSession();
Transaction tx=session.beginTransaction();
Query query=session.createQuery("from Flight f");
Filter filter=session.enableFilter("f1");
filter.setParameter("p1","DELAYED");
List list=query.list();
Iterator itr=list.iterator();
while(itr.hasNext())
{
Flight f=(Flight)itr.next();
System.out.println("FLIGHT NO:"+f.getFlightNumber());
System.out.println("SOURCE :"+f.getSource());
System.out.println("DESTINATION :"+f.getDestination());
System.out.println("STATUS :"+f.getStatus());
session.close();
}
하지만 난 이런 식으로 출력입니다 java.lang.IllegalArgumentException : 정의되지 않은 필터 매개 변수 [p1]