Posted on 2007-08-08 23:16
semovy 閱讀(1327)
評論(0) 編輯 收藏 所屬分類:
Hibernate
DetachedCriteria detachedCriteria =DetachedCriteria.forClass(UserVO.class)
//.add(Restrictions.like("username","sz",MatchMode.ANYWHERE));
.add(org.hibernate.criterion.Expression.disjunction() //or查詢把add放到外面是and查詢,MatchMode.ANYWHERE糊查詢
.add(org.hibernate.criterion.Property.forName("username").like("s", MatchMode.ANYWHERE))
.add(org.hibernate.criterion.Property.forName("password").like("c", MatchMode.ANYWHERE))
);
多對一情況
DetachedCriteria zlbdc=DetachedCriteria.forClass(ZlZlxm.class, "zlb");
// .createAlias("zlb.zl", "t")
// .setProjection(Property.forName("t.id").count())
//.add(Property.forName("t.id").eq(new Long(1)))
org.hibernate.criterion.Projection projection=org.hibernate.criterion.Projections.projectionList()
.add(org.hibernate.criterion.Property.forName("zlb.fdxx"),"id");
zlbdc.setProjection(projection);
//zlbdc.createCriteria("zl");//加上這句是內聯接(inner join)zl為集合
投影查詢,得到一是object[]
DetachedCriteria zlbdc=DetachedCriteria.forClass(ZlZlxm.class, "zlb")
//zlbdc.createCriteria("zl"); //此處為對象
.createAlias("zlb.zl", "t") //別名
.setProjection(Property.forName("t.id").count())
.add(Property.forName("t.id").eq(new Long(1))); //這里統計的是個數內聯接(inner join)
//zladc.setFetchMode("zla.zlZlxm", org.hibernate.FetchMode.JOIN);//無作用(集合lazy)???,如果not lazy將會是全部查出