BasicCar.java:
@Column(name = "date")
@Temporal(TemporalType.DATE)
@Basic(fetch=FetchType.LAZY)
@Field(name="date",index=Index.TOKENIZED,store=Store.YES)
@DateBridge(resolution=Resolution.DAY)
private Date date;
Test.java:
void queryEntity3() throws Exception{
Term begin = new Term("date","19990102");
Term end = new Term("date","20121011");
Date b = Date.valueOf("2011-02-02");
Date e = Date.valueOf("2012-02-02");
session = sf.openSession();
FullTextSession fullTextSession=Search.getFullTextSession(session);
Transaction tx = fullTextSession.beginTransaction();
QueryBuilder qb = fullTextSession.getSearchFactory().buildQueryBuilder().forEntity( BasicCar.class ).get();
//查询是把salesman.address.city替换就可获取其他结果,如carName就可以直接获取本身的值,并不用通过关联来获取值
org.apache.lucene.search.Query query = qb.range().onField("date").from(b).to(e).createQuery();
org.hibernate.Query hibQuery = fullTextSession.createFullTextQuery(query, BasicCar.class);
List result = hibQuery.list();
for(int i=0;i<result.size();i++)
{
BasicCar bc3 = (BasicCar) result.get(i);
System.out.println("id for the selected basiccar is:"
+bc3.getName()+" "+bc3.getFactory());
}
tx.commit();
session.close();
}
参考:http://sin90lzc.iteye.com/blog/1106714