锘??xml version="1.0" encoding="utf-8" standalone="yes"?>亚洲一区二区三区爽爽爽爽爽,精品奇米国产一区二区三区,日本一区二区成人http://www.aygfsteel.com/YJSUN/zh-cnWed, 18 Jun 2025 08:43:34 GMTWed, 18 Jun 2025 08:43:34 GMT60Hibernate鏉′歡鏌ヨhttp://www.aygfsteel.com/YJSUN/archive/2007/05/11/116839.html姹鍚?/dc:creator>姹鍚?/author>Fri, 11 May 2007 10:39:00 GMThttp://www.aygfsteel.com/YJSUN/archive/2007/05/11/116839.htmlhttp://www.aygfsteel.com/YJSUN/comments/116839.htmlhttp://www.aygfsteel.com/YJSUN/archive/2007/05/11/116839.html#Feedback0http://www.aygfsteel.com/YJSUN/comments/commentRss/116839.htmlhttp://www.aygfsteel.com/YJSUN/services/trackbacks/116839.html1銆佸垱寤轟竴涓狢riteria瀹炰緥
net.sf.hibernate.Criteria榪欎釜鎺ュ彛浠h〃瀵逛竴涓壒瀹氱殑鎸佷箙鍖栫被鐨勬煡璇€係ession鏄敤鏉ュ埗閫燙riteria瀹炰緥鐨勫伐鍘傘?nbsp;

Criteria crit = sess.createCriteria(Cat.class);
crit.setMaxResults(50);
List cats = crit.list();


2銆佺緝?yōu)畯缁撴灉闆嗚寖鍥?/strong>
涓涓煡璇㈡潯浠?Criterion)鏄痭et.sf.hibernate.expression.Criterion鎺ュ彛鐨勪竴涓疄渚嬨傜被net.sf.hibernate.expression.Expression瀹氫箟浜?jiǎn)鑾峰緱涓浜涘唴緗殑Criterion綾誨瀷銆?nbsp;

List cats = sess.createCriteria(Cat.class)
    .add( Expression.like("name", "Fritz%") )
    .add( Expression.between("weight", minWeight, maxWeight) )
    .list();
琛ㄨ揪寮忥紙Expressions錛夊彲浠ユ寜鐓ч昏緫鍒嗙粍. 

List cats = sess.createCriteria(Cat.class)
    .add( Expression.like("name", "Fritz%") )
    .add( Expression.or(
     Expression.eq( "age", new Integer(0) ),
     Expression.isNull("age")
    ) )
    .list();
List cats = sess.createCriteria(Cat.class)
    .add( Expression.in( "name", new String[] { "Fritz", "Izi", "Pk" } ) )
    .add( Expression.disjunction()
        .add( Expression.isNull("age") )
     .add( Expression.eq("age", new Integer(0) ) )
     .add( Expression.eq("age", new Integer(1) ) )
     .add( Expression.eq("age", new Integer(2) ) )
    ) )
    .list();
鏈夊緢澶氶鍒剁殑鏉′歡綾誨瀷錛圗xpression鐨勫瓙綾伙級(jí)銆傛湁涓涓壒鍒湁鐢紝鍙互璁╀綘鐩存帴宓屽叆SQL銆?nbsp;

List cats = sess.createCriteria(Cat.class)
    .add( Expression.sql("lower($alias.name) like lower(?)", "Fritz%", Hibernate.STRING) )
    .list();
鍏朵腑鐨剓alias}鏄竴涓崰浣嶇錛屽畠?yōu)畣浼?xì)琚墍鏌ヨ瀹炰綋鐨勮鍒悕鎵鏇夸唬銆?鍘熸枃:The {alias} placeholder with be replaced by the row alias of the queried entity.) 

3銆佸緇撴灉鎺掑簭
鍙互浣跨敤net.sf.hibernate.expression.Order瀵圭粨鏋滈泦鎺掑簭. 

List cats = sess.createCriteria(Cat.class)
    .add( Expression.like("name", "F%")
    .addOrder( Order.asc("name") )
    .addOrder( Order.desc("age") )
    .setMaxResults(50)
    .list();
4銆佸叧鑱旓紙Associations錛?/strong>
浣犲彲浠ュ湪鍏寵仈涔嬮棿浣跨敤createCriteria()錛屽緢瀹規(guī)槗鍦板湪瀛樺湪鍏崇郴鐨勫疄浣撲箣闂存寚瀹氱害鏉熴?nbsp;

List cats = sess.createCriteria(Cat.class)
    .add( Expression.like("name", "F%")
    .createCriteria("kittens")
        .add( Expression.like("name", "F%")
    .list();
娉ㄦ剰錛岀浜屼釜createCriteria()榪斿洖涓涓狢riteria鐨勬柊瀹炰緥錛屾寚鍚慿ittens闆嗗悎綾葷殑鍏冪礌銆?nbsp;

涓嬮潰鐨勬浛浠e艦寮忓湪鐗瑰畾鎯呭喌涓嬫湁鐢ㄣ?nbsp;

List cats = sess.createCriteria(Cat.class)
    .createAlias("kittens", "kt")
    .createAlias("mate", "mt")
    .add( Expression.eqProperty("kt.name", "mt.name") )
    .list();
錛坈reateAlias()錛夊茍涓嶄細(xì)鍒涘緩涓涓狢riteria鐨勬柊瀹炰緥銆傦級(jí) 

璇鋒敞鎰忥紝鍓嶉潰涓や釜鏌ヨ涓瑿at瀹炰緥鎵鎸佹湁鐨刱ittens闆嗗悎綾誨茍娌℃湁閫氳繃criteria棰勫厛榪囨護(hù)錛佸鏋滀綘甯屾湜鍙繑鍥炴弧瓚蟲潯浠剁殑kittens,浣犲繀欏諱嬌鐢╮eturnMaps()銆?nbsp;

List cats = sess.createCriteria(Cat.class)
    .createCriteria("kittens", "kt")
        .add( Expression.eq("name", "F%") )
    .returnMaps()
    .list();
Iterator iter = cats.iterator();
while ( iter.hasNext() ) {
    Map map = (Map) iter.next();
    Cat cat = (Cat) map.get(Criteria.ROOT_ALIAS);
    Cat kitten = (Cat) map.get("kt");
}
5銆佸姩鎬佸叧鑱斿璞¤幏鍙栵紙Dynamic association fetching錛?br>鍙互鍦ㄨ繍琛屾椂閫氳繃setFetchMode()鏉ユ敼鍙樺叧鑱斿璞¤嚜鍔ㄨ幏鍙栫殑絳栫暐銆?nbsp;

List cats = sess.createCriteria(Cat.class)
    .add( Expression.like("name", "Fritz%") )
    .setFetchMode("mate", FetchMode.EAGER)
    .list();
榪欎釜鏌ヨ浼?xì)閫氳繃澶栬繛鎺?outer join)鍚屾椂鑾峰緱 mate鍜宬ittens銆?nbsp;

6銆佹牴鎹ず渚嬫煡璇紙Example queries錛?/strong>
net.sf.hibernate.expression.Example綾誨厑璁鎬綘浠庢寚瀹氱殑瀹炰緥鍒涢犳煡璇㈡潯浠躲?nbsp;

Cat cat = new Cat();
cat.setSex('F');
cat.setColor(Color.BLACK);
List results = session.createCriteria(Cat.class)
    .add( Example.create(cat) )
    .list();
鐗堟湰灞炴э紝琛ㄧず絎﹀睘鎬у拰鍏寵仈閮戒細(xì)琚拷鐣ャ傞粯璁ゆ儏鍐典笅錛宯ull鍊肩殑灞炴т篃琚帓闄ゅ湪澶栥?nbsp;

You can adjust how the Example is applied. 浣犲彲浠ヨ皟鏁寸ず渚?Example)濡備綍搴旂敤銆?nbsp;

Example example = Example.create(cat)
    .excludeZeroes()           //exclude zero valued properties
    .excludeProperty("color")  //exclude the property named "color"
    .ignoreCase()              //perform case insensitive string comparisons
    .enableLike();             //use like for string comparisons
List results = session.createCriteria(Cat.class)
    .add(example)
    .list();
浣犵敋鑷沖彲浠ョ敤紺轟緥瀵瑰叧鑱斿璞″緩绔媍riteria銆?nbsp;

List results = session.createCriteria(Cat.class)
    .add( Example.create(cat) )
    .createCriteria("mate")
        .add( Example.create( cat.getMate() ) )
    .list();



]]>
主站蜘蛛池模板: 汝城县| 望谟县| 峨眉山市| 石嘴山市| 花莲市| 韶关市| 元谋县| 桐城市| 永仁县| 门头沟区| 南昌市| 肃南| 永年县| 陵川县| 娄烦县| 石台县| 海城市| 抚松县| 灌云县| 读书| 丰宁| 芦山县| 廉江市| 连州市| 通许县| 胶州市| 新疆| 肥乡县| 大姚县| 和平县| 教育| 庆云县| 黔西| 六安市| 万宁市| 延川县| 咸阳市| 安达市| 西贡区| 明星| 汕尾市|