??xml version="1.0" encoding="utf-8" standalone="yes"?>男人亚洲天堂,久久91在线,国产美女一区二区三区http://www.aygfsteel.com/void241/category/33137.htmlzh-cnWed, 29 Apr 2015 10:40:06 GMTWed, 29 Apr 2015 10:40:06 GMT60mysql 自增序列(?http://www.aygfsteel.com/void241/archive/2015/04/29/424762.htmlvoidvoidWed, 29 Apr 2015 09:33:00 GMThttp://www.aygfsteel.com/void241/archive/2015/04/29/424762.htmlhttp://www.aygfsteel.com/void241/comments/424762.htmlhttp://www.aygfsteel.com/void241/archive/2015/04/29/424762.html#Feedback0http://www.aygfsteel.com/void241/comments/commentRss/424762.htmlhttp://www.aygfsteel.com/void241/services/trackbacks/424762.html阅读全文

void 2015-04-29 17:33 发表评论
]]>
【ᅢibernateȝpd】用D?/title><link>http://www.aygfsteel.com/void241/archive/2009/06/15/282441.html</link><dc:creator>void</dc:creator><author>void</author><pubDate>Mon, 15 Jun 2009 12:36:00 GMT</pubDate><guid>http://www.aygfsteel.com/void241/archive/2009/06/15/282441.html</guid><wfw:comment>http://www.aygfsteel.com/void241/comments/282441.html</wfw:comment><comments>http://www.aygfsteel.com/void241/archive/2009/06/15/282441.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.aygfsteel.com/void241/comments/commentRss/282441.html</wfw:commentRss><trackback:ping>http://www.aygfsteel.com/void241/services/trackbacks/282441.html</trackback:ping><description><![CDATA[<p> <a href="http://www.aygfsteel.com/amigoxie/archive/2008/01/01/171972.html">http://www.aygfsteel.com/amigoxie/archive/2008/01/01/171972.html</a></p> <img src ="http://www.aygfsteel.com/void241/aggbug/282441.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.aygfsteel.com/void241/" target="_blank">void</a> 2009-06-15 20:36 <a href="http://www.aygfsteel.com/void241/archive/2009/06/15/282441.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>Hibernate-投媄http://www.aygfsteel.com/void241/archive/2008/07/19/216001.htmlvoidvoidSat, 19 Jul 2008 04:16:00 GMThttp://www.aygfsteel.com/void241/archive/2008/07/19/216001.htmlhttp://www.aygfsteel.com/void241/comments/216001.htmlhttp://www.aygfsteel.com/void241/archive/2008/07/19/216001.html#Feedback0http://www.aygfsteel.com/void241/comments/commentRss/216001.htmlhttp://www.aygfsteel.com/void241/services/trackbacks/216001.htmlorg.hibernate.criterion.Projections?Projection 的实例工厂。我们通过调用 setProjection()应用投媄C个查询?/p>
List results = session.createCriteria(Cat.class)
.setProjection( Projections.rowCount() )
.add( Restrictions.eq("color", Color.BLACK) )
.list();
List results = session.createCriteria(Cat.class)
.setProjection( Projections.projectionList()
.add( Projections.rowCount() )
.add( Projections.avg("weight") )
.add( Projections.max("weight") )
.add( Projections.groupProperty("color") )
)
.list();

在一个条件查询中没有必要昑ּ的?"group by" 。某些投q型就是被定义?span class="emphasis"> 分组投媄Q他们也出现在SQL?tt class="literal">group by子句中?/p>

你可以选择把一个别名指z一个投影,q样可以使投影DU束或排序所引用。下面是两种不同的实现方式:

List results = session.createCriteria(Cat.class)
.setProjection( Projections.alias( Projections.groupProperty("color"), "colr" ) )
.addOrder( Order.asc("colr") )
.list();
List results = session.createCriteria(Cat.class)
.setProjection( Projections.groupProperty("color").as("colr") )
.addOrder( Order.asc("colr") )
.list();

alias()?tt class="literal">as()Ҏ(gu)便的一个投影实例包装到另外一?别名?tt class="literal">Projection实例中。简而言之,当你d一个投影到一个投影列表中?你可以ؓ它指定一个别名:

List results = session.createCriteria(Cat.class)
.setProjection( Projections.projectionList()
.add( Projections.rowCount(), "catCountByColor" )
.add( Projections.avg("weight"), "avgWeight" )
.add( Projections.max("weight"), "maxWeight" )
.add( Projections.groupProperty("color"), "color" )
)
.addOrder( Order.desc("catCountByColor") )
.addOrder( Order.desc("avgWeight") )
.list();
List results = session.createCriteria(Domestic.class, "cat")
.createAlias("kittens", "kit")
.setProjection( Projections.projectionList()
.add( Projections.property("cat.name"), "catName" )
.add( Projections.property("kit.name"), "kitName" )
)
.addOrder( Order.asc("catName") )
.addOrder( Order.asc("kitName") )
.list();

你也可以使用Property.forName()来表C投影:

List results = session.createCriteria(Cat.class)
.setProjection( Property.forName("name") )
.add( Property.forName("color").eq(Color.BLACK) )
.list();
List results = session.createCriteria(Cat.class)
.setProjection( Projections.projectionList()
.add( Projections.rowCount().as("catCountByColor") )
.add( Property.forName("weight").avg().as("avgWeight") )
.add( Property.forName("weight").max().as("maxWeight") )
.add( Property.forName("color").group().as("color" )
)
.addOrder( Order.desc("catCountByColor") )
.addOrder( Order.desc("avgWeight") )
.list();


void 2008-07-19 12:16 发表评论
]]>
Hibernate-提升性能http://www.aygfsteel.com/void241/archive/2008/07/19/215999.htmlvoidvoidSat, 19 Jul 2008 04:14:00 GMThttp://www.aygfsteel.com/void241/archive/2008/07/19/215999.htmlhttp://www.aygfsteel.com/void241/comments/215999.htmlhttp://www.aygfsteel.com/void241/archive/2008/07/19/215999.html#Feedback0http://www.aygfsteel.com/void241/comments/commentRss/215999.htmlhttp://www.aygfsteel.com/void241/services/trackbacks/215999.htmlhttp://www.redsaga.com/hibernate-ref/3.x/zh-cn/html/performance.html



void 2008-07-19 12:14 发表评论
]]>
提高Hibernate的效?/title><link>http://www.aygfsteel.com/void241/archive/2008/07/19/215998.html</link><dc:creator>void</dc:creator><author>void</author><pubDate>Sat, 19 Jul 2008 04:14:00 GMT</pubDate><guid>http://www.aygfsteel.com/void241/archive/2008/07/19/215998.html</guid><wfw:comment>http://www.aygfsteel.com/void241/comments/215998.html</wfw:comment><comments>http://www.aygfsteel.com/void241/archive/2008/07/19/215998.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.aygfsteel.com/void241/comments/commentRss/215998.html</wfw:commentRss><trackback:ping>http://www.aygfsteel.com/void241/services/trackbacks/215998.html</trackback:ping><description><![CDATA[<p>1、用hibernate3 <br /> 2、用缓?<br /> 3、尽量用g时加?<br /> 4、设|合理的batch_size <br /> 5、尽量用UUID主键生成机制 <br /> 6、用乐观锁代替?zhn)观?<br /> 7、采用合理的Session理机制<br /> 8、徏模时注意不要做过多的兌 <br /> 9、预评估l果集,对过大的l果集进行分处?br /> 10、投?/p> <img src ="http://www.aygfsteel.com/void241/aggbug/215998.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.aygfsteel.com/void241/" target="_blank">void</a> 2008-07-19 12:14 <a href="http://www.aygfsteel.com/void241/archive/2008/07/19/215998.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>Hibernate性能优化http://www.aygfsteel.com/void241/archive/2008/07/19/215996.htmlvoidvoidSat, 19 Jul 2008 04:12:00 GMThttp://www.aygfsteel.com/void241/archive/2008/07/19/215996.htmlhttp://www.aygfsteel.com/void241/comments/215996.htmlhttp://www.aygfsteel.com/void241/archive/2008/07/19/215996.html#Feedback0http://www.aygfsteel.com/void241/comments/commentRss/215996.htmlhttp://www.aygfsteel.com/void241/services/trackbacks/215996.html有很多h认ؓHibernate天生效率比较低,实Q在普遍情况下,需要将执行转换为SQL语句?Hibernate的效率低于直接JDBC存取Q然而,在经q比较好的性能优化之后QHibernate的性能q是让h相当满意的,特别是应用二U缓存之 后,甚至可以获得比较不用缓存的JDBC更好的性能Q下面介l一些通常的Hibernate的优化策略:
    1.抓取优化
     抓取是指Hibernate如何在关联关pM间进行导航的时候,Hibernate如何获取兌对象的策略,其主要定义了两个斚wQ如何抓取和何时抓取
     1Q如何抓取?br />      Hibernate3主要有两U种抓取方式Q分别应用于对象兌实例(many-to-one、one-to-one)和对象关联集?set、map{?Qd是四U变U?br />      JOIN抓取Q?通过在SELECT语句中用OUTER JOIN来获得对象的兌实例或者关联集合)
     SELECT抓取Q?另外发送一条SELECT语句来抓取当前对象的兌实体和集?br />      在我的开发经历中Q此处对性能的优化是比较有限的,q不值得q多x
     例:
     A.应用于对象关联实例(默认是falseQ?br />      <many-to-one name=".." outer-join="true/false/auto"   .../>
     B.应用于对象关联集合(默认是autoQ?br />      <set name=".." fetch="join/select" ... >
        ....
     </set>
     2Q何时抓?br />      主要分ؓ延迟加蝲和立x取,默认的情况下Hibernate3对对象关联实采用延迟加蝲Q普通属性采用立x取,通过延迟加蝲和采用适当的抓取粒度,与不采用优化相比往往可以性能提升数?br />      立即抓取Q当抓取宿主对象Ӟ同时抓取其关联对象和兌集以及属?br />      延迟加蝲Q当抓取宿主对象Ӟq不抓取其关联对象,而是当对其对象进行调用时才加?br />      例:
     A.应用于对象关联实例(默认是gq加载)
     <many-to-one name=".."   lazy="true/false" .../>
     B.应用于对象关联集合(默认是gq加载)
     <set name=".." lazy="true/false" ... >
        ....
     </set>
     对于延迟加蝲Q需要注意的Ӟ对gq对象的使用必须在Session关闭之前q行QHibernate?LazyInitalizationException往往是׃在Session的生命期外用了延迟加蝲的对象。当我们q行Web开发时Q可以?OpenSessionInView模式Q当h开始时打开sessionQ当h响应l束时才关闭sessionQ不q,在?OpenSessionInView模式Ӟ需要注意如果响应时间比较长Q业务比较复杂或者客L是低速网l)Q将Session资源(也就是数据库的连 ?占用太久的话可以会导致资源耗尽
     3Q抓取粒?br />      抓取_度指的是对象在兌关系之间被导航时一ơ预先加载的数量QHibernateE序的性能比较差往往在于没有对抓取_度仔细考虑Q当加蝲一个列表ƈ在列表中的每个对象中对其兌q行DӞ往往DN+1条SQL语句查询?br />      例:
     A.应用于对象关联实例(默认?Q,注意Q对对象?span class="noted">联实例的?/span>|是在被兌的对象之上的Q譬?br />      class User
     {
         Group g;
     }
     那么抓取_度应该在Group的配|文件之上,见下
     <class name="Group" table="group" batch-size="..">
         ...
     </class>
     对该值ƈ没有一个约定俗成的|Ҏ(gu)情况而定Q如果被兌表数据比较少Q则可以讄地小一些,3-20Q如果比较大则可以设?0-50Q注意的时候,q不是越多越好,当其Dq?0之后Q对性能q没有多大改善但却无谓地消耗内?br />      假设有如下例子:
        List<User> users = query.list();
     如果?0个UserQƈ对这20个User及其Groupq行遍历Q如果不讄batch-sizeQ即batch-size="1"Q,则在最p糕的情?br />      下,需? + 20条SQL语句Q如果设|batch-size="10"Q则最好的情况下只需? + 2条SQL语句
     B.应用于对象关联集合(默认?Q?br />      <set name=".." batch-size="" ... >
        ....
     </set>
     2.二~存
     Hibernate Ҏ(gu)据的~存包括两个U:一U缓存,在Session的别上q行Q主要是对象~存Q以其id为键保存对象Q在Session的生命期间存在;二~存Q?在SessionFactory的别上q行Q有对象~存和查询缓存,查询~存以查询条件ؓ键保存查询结果,在SessionFactory的生命期间存 在。默认地QHibernate只启用一U缓存,通过正确C用二U缓存,往往可以获得意想不到的性能?br />      1Q对象缓存:
     当抓取一个对象之后,Hiberate其以id为键~存hQ当下次到抓取id相同的对象时Q可以用如下配|?br />      Ҏ(gu)1Q在~存对象上配|?br />      <class ...>
        <cache useage="read-only/write/...." regions="group" />
     </class>
     useage 表示使用什么类型的~存Q譬如只ȝ存、读写缓存等{(具体参见Hibernate参考指南)Q值得注意的时Q有部分~存在Hibernate的实C?支持d~存Q譬如JBossCache在Hibernate的实C只是一U只ȝ存,具体~存实现对缓存类型的支持情况Q可以参?org.hibernate.cache?br />      regions表示~存分块Q大部分的缓存实现往往对缓存进行分块,该部分是可选的Q详l参见各~存实现
     Ҏ(gu)2Q在hibernate.cfg.xml中配|?br />      <cache class=".." useage=".." regions=".."/>
     我认为第二种更好Q可以统一理
     2)查询~存
     查询时候将查询l果以查询条件ؓ键保存v来,需要配|如?br />      A.在hibernate.cfg.xml中配|(启用查询~存Q?br />      <property name="hibernate.cache.use_query_cache">true</property>   Q前面的属性名可参见常?br /> org.hibernate.cfg.Enviroment.USE_QUERY_CACHEQ?br />      B.E序
     query.setCacheable(true);
     query.setCacheRegions(...);
     需要注意的?查询~存与对象缓存要l合更有?因ؓ查询~存仅缓存查询结果列表的主键数据
     一般情况下在开发中Q对一些比较稳定而又被频J引用的数据Q譬如数据字怹cȝQ将其进行二U缓存,对一些查询条件和查询数据变化不频J而又常常被用的 查询Q将其进行二U缓存。由于二U缓存是攑֜内存中,而且Hibernate的缓存不是弱引用~存QWeekReferenceQ,所以注意不要将大块?数据攑օ其中Q否则可能会被内存造成比较大的压力?br />      3.扚w数据操作
     当进行大扚w数据操作Q几万甚臛_十几百万Q时Q需要注意两点,一Q批量提交,二,及时清除不需要的一U缓存数?br />      1Q?所谓的扚w提交Q就是不要频J用session的flushQ每一ơ进行flushQHibernatePO数据于数据库q行同步Q对于v量数据?作来说是性能NQ同时提交几千条数据和提交一条数据flush一ơ性能差别可能会是几十倍的差异Q。一般将数据操作攑֜事务中,当事务提交时 Hibernate自动帮你q行flush操作?br />      2Q及时清除不需要的一U缓存数据:׃Hibernate默认采用一U缓存,而在 session的生命期_所有数据抓取之后会攑օ一U缓存中Q而当数据规模比较庞大Ӟ抓取到内存中的数据会让内存压力非常大Q一般分Ҏ(gu)作数据,被一 ơ操作之后将一U缓存清除,譬如
     session.clear(User.class)
     4.杂项
     dynamic-insertQdynamic-updateQ动态插入和动态更斎ͼ指的是让Hibernate插入数据时仅插入非空数据Q当修改数据时只修改变化的数据,譬如对于
     class User
     {
        id
        username
        password
     }
     如果u.id=1, u.username="ayufox",u.password=nullQ那么如果不讄动态插入,则其sql语句?insert into users(id, username, password) values (1, 'ayufox', ')Q如果设|则?sql语句是insert into users(username) valeus('ayufox')
     在如上的情况下,如果修改 u.password='11'Q那么如果不讄动态更斎ͼ则sql语句为update users set username='ayufox', password='11' where id = 1Q如果设|则为update user set password='11' where d = 1
     讄是在class的映文件中Q如?br />      <class name="User" table="users" dynamic=insert="true/false" dynamic-update="true/false" ...>
     </class>
  该设|对性能的提升比较有?



void 2008-07-19 12:12 发表评论
]]>
优化hibernate性能的几点徏?/title><link>http://www.aygfsteel.com/void241/archive/2008/07/19/215995.html</link><dc:creator>void</dc:creator><author>void</author><pubDate>Sat, 19 Jul 2008 04:11:00 GMT</pubDate><guid>http://www.aygfsteel.com/void241/archive/2008/07/19/215995.html</guid><wfw:comment>http://www.aygfsteel.com/void241/comments/215995.html</wfw:comment><comments>http://www.aygfsteel.com/void241/archive/2008/07/19/215995.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.aygfsteel.com/void241/comments/commentRss/215995.html</wfw:commentRss><trackback:ping>http://www.aygfsteel.com/void241/services/trackbacks/215995.html</trackback:ping><description><![CDATA[<table bordercolor="#cccccc" width="90%" align="center" bgcolor="#e3e3e3" border="1"> <tbody> <tr> <td>1 Qproperty name="hibernateProperties"Q?br /> 2 QpropsQ?br /> 3 Qprop key="hibernate.dialect"Qorg.hibernate.dialect.Oracle9DialectQ?propQ?br /> 4 Qprop key="hibernate.show_sql"QfalseQ?propQ?br /> 5 Q?-- Create/update the database tables automatically when the JVM starts up<br /> 6 Qprop key="hibernate.hbm2ddl.auto"QupdateQ?propQ?--Q?br /> 7 Q?-- Turn batching off for better error messages under PostgreSQL<br /> 8 Qprop key="hibernate.jdbc.batch_size"Q?00Q?propQ?--Q?br /> 9 Qprop key="hibernate.jdbc.batch_size"Q?0Q?propQ?br /> 10 Q?propsQ?br /> 11 Q?propertyQFetch Size讄大Q读数据库的ơ数少Q速度快QFetch Size小Q读数据库的ơ数多Q速度慢?/td> </tr> </tbody> </table> <br />   2、如果是大的系l,生成htm文g。加快页面提升速度?br /> <br />   3、不要把所有的责Q推在hibernate上,对代码进行重构,减少Ҏ(gu)据库的操作,量避免在数据库查询时用in操作Q以及避免递归查询操作Q代码质量、系l设计的合理性决定系l性能的高低?br /> <br />   4、对大数据量查询Ӟ慎用list()或者iterator()q回查询l果Q?br /> <br />   Q?Q? 使用List()q回l果ӞHibernate会所有查询结果初始化为持久化对象Q结果集较大Ӟ会占用很多的处理旉?br /> <br />   Q?Q? 而用iterator()q回l果Ӟ在每ơ调用iterator.next()q回对象q用对象时QHibernate才调用查询将对应的对象初始化Q对于大数据量时Q每调用一ơ查询都会花费较多的旉。当l果集较大,但是含有较大量相同的数据Q或者结果集不是全部都会使用Ӟ使用iterator()才有优势?br /> <br />   5、在一对多、多对一的关pMQ用gq加载机Ӟ会不少的对象在使用时方会初始化Q这样可使得节省内存I间以及减少数据库的负荷Q而且若PO中的集合没有被用时Q就可减互数据库的交互从而减处理时间?br /> <br />   6、对含有兌的POQ持久化对象Q时Q若default-cascade="all"或?“save-update”Q新增POӞh意对PO中的集合的赋值操作,因ؓ有可能得多执行一ơupdate操作?br /> <br />   7、对于大数据量新增、修攏V删除操作或者是对大数据量的查询Q与数据库的交互ơ数是决定处理时间的最重要因素Q减交互的ơ数是提升效率的最好途径Q所以在开发过E中Q请show_sql讄为trueQ深入了解Hibernate的处理过E,试不同的方式,可以使得效率提升。尽可能Ҏ(gu)个页面的昄Q对数据库的操作减少?00----150条以内。越越好?br /> <br />   以上是在q行struts+hibernate+springq行目开发中Q对hibernate性能优化的几点心得? <img src ="http://www.aygfsteel.com/void241/aggbug/215995.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.aygfsteel.com/void241/" target="_blank">void</a> 2008-07-19 12:11 <a href="http://www.aygfsteel.com/void241/archive/2008/07/19/215995.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>Hibernate延迟加蝲http://www.aygfsteel.com/void241/archive/2008/07/19/215994.htmlvoidvoidSat, 19 Jul 2008 04:10:00 GMThttp://www.aygfsteel.com/void241/archive/2008/07/19/215994.htmlhttp://www.aygfsteel.com/void241/comments/215994.htmlhttp://www.aygfsteel.com/void241/archive/2008/07/19/215994.html#Feedback0http://www.aygfsteel.com/void241/comments/commentRss/215994.htmlhttp://www.aygfsteel.com/void241/services/trackbacks/215994.html
Team.hbm.xml
<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Mapping DTD 3.0//EN"
"http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd">
<!--
    Mapping file autogenerated by MyEclipse Persistence Tools
-->
<hibernate-mapping>
    <class name="edu.dgut.ke.model.Team" table="TEAM" lazy ="true" ><!-- 多对一的gq加载设|?-->
        <id name="id" type="java.lang.String">
            <column name="ID" length="32" />
            <generator class="uuid.hex" />
        </id>
        <property name="teamname" type="java.lang.String">
            <column name="TEAMNAME" length="32" not-null="true" unique="true" />
        </property>
        <set name="students" inverse="true" cascade="all" lazy="true" > <!-- 一对多的gq加载设|?-->
            <key>
                <column name="TEAMID" length="32" not-null="true" />
            </key>
            <one-to-many class="edu.dgut.ke.model.Student" />
        </set>
    </class>
</hibernate-mapping>

Certificate.hbm.xml
<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Mapping DTD 3.0//EN"
"http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd">
<!--
    Mapping file autogenerated by MyEclipse Persistence Tools
-->
<hibernate-mapping>
    <class name="edu.dgut.ke.model.Certificate" table="CERTIFICATE" lazy="true" ><!-- 一对一的gq加载设|?-->

        <id name="id" type="java.lang.String">
            <column name="ID" length="32" />
            <generator class="uuid">
           
            </generator>
        </id>
        <property name="describe" type="java.lang.String">
            <column name="`DESCRIBE`" length="50" not-null="true" />
        </property>
        <one-to-one name="student"
        class="edu.dgut.ke.model.Student"
         constrained="true" ><!-- 一对一的gq加载设|?-->

        </one-to-one>
    </class>
</hibernate-mapping>

Student.hbm.xml
<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Mapping DTD 3.0//EN"
"http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd">
<!--
    Mapping file autogenerated by MyEclipse Persistence Tools
-->
<hibernate-mapping>
    <class name="edu.dgut.ke.model.Student" table="STUDENT" lazy="true" >
        <id name="id" type="java.lang.String">
            <column name="ID" length="32" />
            <generator class="uuid.hex" />
        </id>
        <many-to-one name="certificate"
        class="edu.dgut.ke.model.Certificate"
        unique="true"
        column="cardId"
        cascade="all"
        >
        </many-to-one>
        <many-to-one name="team" class="edu.dgut.ke.model.Team">
            <column name="TEAMID" length="32" not-null="true" />
        </many-to-one>
        <property name="studentname" type="java.lang.String">
            <column name="STUDENTNAME" length="16" not-null="true" unique="true" />
        </property>
    </class>
</hibernate-mapping>
注意Q对one-to-one 关系q行延迟加蝲和其他关pȝ比稍微有些不同。many-to-one 的gq加载是在配|文件的class 标签
上设|?lazy="true" Qone-to-many ?many-to-many 的gq加载是?set 标签中设|lazy="true"。而one-to-one 不只要在 classs
标签讄 lazy="true"Q而且要在one-to-one 标签中设|constrained="true" ?br /> 如果不设|constrained="true"Q则一对一查询使用默认的预先抓取策?fetch="join")?/strong>



void 2008-07-19 12:10 发表评论
]]>
վ֩ģ壺 | ɽ| Ԫ| ګ| μԴ| Ͽ| | Ҫ| | | ʤ| | | ̩| | ͬ| ¹Ȫ| | ؼ| Ϫ| ״| | ɽ| | ʯ| | ³| | ۷| | Ž| ף| | ̨| ̩| ³ƶ| ˳| ɽ| º| | |