Criteria 外键匹配查询
2015-11-03 22:53
399 查看
package jd;
import java.util.List;
import org.hibernate.Criteria;
import org.hibernate.Session;
import org.hibernate.SessionFactory;
import org.hibernate.Transaction;
import org.hibernate.cfg.Configuration;
import org.hibernate.criterion.Projections;
import org.hibernate.criterion.Restrictions;
import com.oracle.jingdong.entity.Goods;
import com.oracle.jingdong.entity.ThirdClass;
import entity.Student;
public class quchong {
public static void main(String[] args) {
Configuration cf=new Configuration().configure();
SessionFactory sf=cf.buildSessionFactory();
Session session=sf.openSession();
Transaction ts=session.beginTransaction();
//Criteria cr=session.createCriteria(Goods.class);
/*cr.setProjection( Projections.projectionList().
add( Projections.groupProperty("thirdClass"))
.add(Projections.groupProperty("brand")));*/
// cr.createAlias("brand", "mt");
// cr.setProjection(Projections.projectionList().
//
add( Projections.groupProperty("brand")));
//cr.setProjection(Projections.distinct(Projections.property("thirdClass")));
// cr.setProjection(Projections.distinct(Projections.property("brand")));
//cr.setResultTransformer(Criteria.DISTINCT_ROOT_ENTITY);
//cr.add(Restrictions.eq("brand.brandId", 1) );
/*cr.setProjection( Projections.projectionList().
add( Projections.groupProperty("thirdClass"))
.add(Projections.groupProperty("brand")));*/
// cr.createAlias("brand", "mt");
// cr.setProjection(Projections.projectionList().
//
add( Projections.groupProperty("brand")));
//cr.setProjection(Projections.distinct(Projections.property("thirdClass")));
// cr.setProjection(Projections.distinct(Projections.property("brand")));
//cr.setResultTransformer(Criteria.DISTINCT_ROOT_ENTITY);
Criteria cr=session.createCriteria(Goods.class);//brandId为goods外键,为Brand主键
//cr.add(Restrictions.eq("brand.brandId", 1));//是外键的直接用,没问题
//cr.add(Restrictions.eq("brand.brandName", "aaa"));//报错
cr.createAlias("brand", "b").add(Restrictions.eq("b.brandName", "aaa"));//不是外键的定义别名不报错
List objList=cr.list();
// System.out.println("dddddddddddd"+cr.list().size());
for(Object obj:objList)
System.out.println(((Goods)obj).getGoodsTitle());
ts.commit();
}
}
import java.util.List;
import org.hibernate.Criteria;
import org.hibernate.Session;
import org.hibernate.SessionFactory;
import org.hibernate.Transaction;
import org.hibernate.cfg.Configuration;
import org.hibernate.criterion.Projections;
import org.hibernate.criterion.Restrictions;
import com.oracle.jingdong.entity.Goods;
import com.oracle.jingdong.entity.ThirdClass;
import entity.Student;
public class quchong {
public static void main(String[] args) {
Configuration cf=new Configuration().configure();
SessionFactory sf=cf.buildSessionFactory();
Session session=sf.openSession();
Transaction ts=session.beginTransaction();
//Criteria cr=session.createCriteria(Goods.class);
/*cr.setProjection( Projections.projectionList().
add( Projections.groupProperty("thirdClass"))
.add(Projections.groupProperty("brand")));*/
// cr.createAlias("brand", "mt");
// cr.setProjection(Projections.projectionList().
//
add( Projections.groupProperty("brand")));
//cr.setProjection(Projections.distinct(Projections.property("thirdClass")));
// cr.setProjection(Projections.distinct(Projections.property("brand")));
//cr.setResultTransformer(Criteria.DISTINCT_ROOT_ENTITY);
//cr.add(Restrictions.eq("brand.brandId", 1) );
/*cr.setProjection( Projections.projectionList().
add( Projections.groupProperty("thirdClass"))
.add(Projections.groupProperty("brand")));*/
// cr.createAlias("brand", "mt");
// cr.setProjection(Projections.projectionList().
//
add( Projections.groupProperty("brand")));
//cr.setProjection(Projections.distinct(Projections.property("thirdClass")));
// cr.setProjection(Projections.distinct(Projections.property("brand")));
//cr.setResultTransformer(Criteria.DISTINCT_ROOT_ENTITY);
Criteria cr=session.createCriteria(Goods.class);//brandId为goods外键,为Brand主键
//cr.add(Restrictions.eq("brand.brandId", 1));//是外键的直接用,没问题
//cr.add(Restrictions.eq("brand.brandName", "aaa"));//报错
cr.createAlias("brand", "b").add(Restrictions.eq("b.brandName", "aaa"));//不是外键的定义别名不报错
List objList=cr.list();
// System.out.println("dddddddddddd"+cr.list().size());
for(Object obj:objList)
System.out.println(((Goods)obj).getGoodsTitle());
ts.commit();
}
}
相关文章推荐
- java面试--String详解
- Eclipse中的快捷键功能
- LightOJ - 1209 Strange Voting(二分图)
- 网络通信中字节序转换问题
- linux下core文件调试方法
- 巧用Systemtap注入延迟模拟IO设备抖动
- Code First Migrations更新数据库结构的具体步骤
- 听点古典
- lua几点注意和脚本操作gui文件
- shell类型与配置文件
- 声控开关电路原理图-门电路、限流电阻应用经典分析
- Oracle创建DBlink和Sysnonyms(同义词,表映射)的方法及常见问题处理
- Java中Static作用
- spacemacs快速入门
- 菜鸟笔记:node.js+mysql中将JSON数据构建为树(递归制作树状菜单数据接口)
- iOS页面间传值的方式(Delegate/NSNotification/Block/NSUserDefault/单例)
- 让Java代码跑得更快
- 那些有意思的悖论
- IOS UILabel
- Spring与CXF整合