锘??xml version="1.0" encoding="utf-8" standalone="yes"?>亚洲成色www久久网站,天堂美国久久,国产99视频在线观看http://www.aygfsteel.com/ktoo/category/24713.htmlzh-cnSun, 17 Feb 2008 10:27:11 GMTSun, 17 Feb 2008 10:27:11 GMT60Struts2+Hibernate涓叧闂璖ession鐨刦ilter闂http://www.aygfsteel.com/ktoo/archive/2008/02/17/180226.htmlKTOOKTOOSat, 16 Feb 2008 17:37:00 GMThttp://www.aygfsteel.com/ktoo/archive/2008/02/17/180226.htmlhttp://www.aygfsteel.com/ktoo/comments/180226.htmlhttp://www.aygfsteel.com/ktoo/archive/2008/02/17/180226.html#Feedback0http://www.aygfsteel.com/ktoo/comments/commentRss/180226.htmlhttp://www.aygfsteel.com/ktoo/services/trackbacks/180226.html鐢⊿truts2+Hibernate寮鍙慦eb紼嬪簭
鍙戠幇緗戠珯鑰佹槸涓鍔ㄤ笉鍔?鍦―AO涓敤  Statistics stats = HibernateUtil.getSessionFactory().getStatistics();
鏌ョ湅浜嗙粺璁$粨鏋?鍙戠幇鎵撳紑50涓猄ession鍙湁20涓叧闂簡.
鐪嬬粨鏋勪篃娌℃湁浠涔堥棶棰?鎴戜嬌鐢ㄤ袱涓猅hreadLocal 瀛樻斁Session 鍜孴ransaction,鍐嶇敤涓涓狥ilter鍘誨叧闂?鍚勪釜閰嶇疆琛ㄩ潰涓婁篃鏄病鏈夐棶棰?鍙槸鍋氭祴璇曠殑鏃跺欐墠鍙戠幇鍏抽棴Session鐨凢ilter鏍規湰灝辨槸娌℃湁榪愯,鎴栨槸鏈夋椂榪愯,鏈夋椂涓嶈繍琛?
浠旂粏鎯充簡鎯?璋冩暣浜嗕竴涓媠essionclosefilter鍜孲truts2鐨刦ilter鐨勯『搴忓涓?緇堜簬鍙互鍏抽棴浜?/p>

 <filter>
        <filter-name>HibernateSessionCloseFiler</filter-name>
        <filter-class>com.hitecin.struts2.filter.HibernateSessionClose</filter-class>
    </filter>
    <filter>
        <filter-name>struts-cleanup</filter-name>
        <filter-class>org.apache.struts2.dispatcher.ActionContextCleanUp</filter-class>
    </filter>
      <filter>
        <filter-name>struts2</filter-name>
        <filter-class>org.apache.struts2.dispatcher.FilterDispatcher</filter-class>
    </filter>

      <filter-mapping>
        <filter-name>HibernateSessionCloseFiler</filter-name>
        <url-pattern>/*</url-pattern>
    </filter-mapping>
     <filter-mapping>
         <filter-name>struts-cleanup</filter-name>
         <url-pattern>/*</url-pattern>
     </filter-mapping>

    <filter-mapping>
        <filter-name>struts2</filter-name>
        <url-pattern>/*</url-pattern>
    </filter-mapping>



KTOO 2008-02-17 01:37 鍙戣〃璇勮
]]>
Hibernate 鍑洪敊http://www.aygfsteel.com/ktoo/archive/2008/02/04/179250.htmlKTOOKTOOSun, 03 Feb 2008 19:56:00 GMThttp://www.aygfsteel.com/ktoo/archive/2008/02/04/179250.htmlhttp://www.aygfsteel.com/ktoo/comments/179250.htmlhttp://www.aygfsteel.com/ktoo/archive/2008/02/04/179250.html#Feedback0http://www.aygfsteel.com/ktoo/comments/commentRss/179250.htmlhttp://www.aygfsteel.com/ktoo/services/trackbacks/179250.html org.hibernate.AssertionFailure: collection was processed twice by flush()
 at org.hibernate.engine.Collections.prepareCollectionForUpdate(Collections.java:202)
 at org.hibernate.engine.Collections.processReachableCollection(Collections.java:185)
 at org.hibernate.event.def.FlushVisitor.processCollection(FlushVisitor.java:37)
 at org.hibernate.event.def.AbstractVisitor.processValue(AbstractVisitor.java:101)
 at org.hibernate.event.def.AbstractVisitor.processValue(AbstractVisitor.java:61)
 at org.hibernate.event.def.AbstractVisitor.processEntityPropertyValues(AbstractVisitor.java:55)
 at org.hibernate.event.def.DefaultFlushEntityEventListener.onFlushEntity(DefaultFlushEntityEventListener.java:131)
 at org.hibernate.event.def.AbstractFlushingEventListener.flushEntities(AbstractFlushingEventListener.java:196)
 at org.hibernate.event.def.AbstractFlushingEventListener.flushEverythingToExecutions(AbstractFlushingEventListener.java:76)
 at org.hibernate.event.def.DefaultFlushEventListener.onFlush(DefaultFlushEventListener.java:26)
 at org.hibernate.impl.SessionImpl.flush(SessionImpl.java:1000)
 at com.hitecin.struts2.HibernateDAO.HibernateTemplate.run(HibernateTemplate.java:30)
 at com.hitecin.struts2.HibernateDAO.HibernateSupport.createQuery(HibernateSupport.java:140)
 at com.hitecin.struts2.productshow.ProductJspAction.execute(ProductJspAction.java:47)
 at sun.reflect.GeneratedMethodAccessor242.invoke(Unknown Source)
 at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
 at java.lang.reflect.Method.invoke(Method.java:585)
 at com.opensymphony.xwork2.DefaultActionInvocation.invokeAction(DefaultActionInvocation.java:399)
 at com.opensymphony.xwork2.DefaultActionInvocation.invokeActionOnly(DefaultActionInvocation.java:262)
 at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:224)
 at com.opensymphony.xwork2.interceptor.DefaultWorkflowInterceptor.doIntercept(DefaultWorkflowInterceptor.java:213)
 at com.opensymphony.xwork2.interceptor.MethodFilterInterceptor.intercept(MethodFilterInterceptor.java:86)
 at com.opensymphony.xwork2.DefaultActionInvocation$2.doProfiling(DefaultActionInvocation.java:219)
 at com.opensymphony.xwork2.DefaultActionInvocation$2.doProfiling(DefaultActionInvocation.java:218)
 at com.opensymphony.xwork2.util.profiling.UtilTimerStack.profile(UtilTimerStack.java:455)
 at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:216)
 at com.opensymphony.xwork2.validator.ValidationInterceptor.doIntercept(ValidationInterceptor.java:150)
 at org.apache.struts2.interceptor.validation.AnnotationValidationInterceptor.doIntercept(AnnotationValidationInterceptor.java:48)
 at com.opensymphony.xwork2.interceptor.MethodFilterInterceptor.intercept(MethodFilterInterceptor.java:86)
 at com.opensymphony.xwork2.DefaultActionInvocation$2.doProfiling(DefaultActionInvocation.java:219)
 at com.opensymphony.xwork2.DefaultActionInvocation$2.doProfiling(DefaultActionInvocation.java:218)
 at com.opensymphony.xwork2.util.profiling.UtilTimerStack.profile(UtilTimerStack.java:455)
 at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:216)
 at com.opensymphony.xwork2.interceptor.ConversionErrorInterceptor.intercept(ConversionErrorInterceptor.java:123)
 at com.opensymphony.xwork2.DefaultActionInvocation$2.doProfiling(DefaultActionInvocation.java:219)
 at com.opensymphony.xwork2.DefaultActionInvocation$2.doProfiling(DefaultActionInvocation.java:218)
 at com.opensymphony.xwork2.util.profiling.UtilTimerStack.profile(UtilTimerStack.java:455)
 at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:216)
 at com.opensymphony.xwork2.interceptor.ParametersInterceptor.intercept(ParametersInterceptor.java:161)
 at com.opensymphony.xwork2.DefaultActionInvocation$2.doProfiling(DefaultActionInvocation.java:219)
 at com.opensymphony.xwork2.DefaultActionInvocation$2.doProfiling(DefaultActionInvocation.java:218)
 at com.opensymphony.xwork2.util.profiling.UtilTimerStack.profile(UtilTimerStack.java:455)
 at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:216)
 at com.opensymphony.xwork2.interceptor.StaticParametersInterceptor.intercept(StaticParametersInterceptor.java:105)
 at com.opensymphony.xwork2.DefaultActionInvocation$2.doProfiling(DefaultActionInvocation.java:219)
 at com.opensymphony.xwork2.DefaultActionInvocation$2.doProfiling(DefaultActionInvocation.java:218)
 at com.opensymphony.xwork2.util.profiling.UtilTimerStack.profile(UtilTimerStack.java:455)
 at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:216)
 at org.apache.struts2.interceptor.CheckboxInterceptor.intercept(CheckboxInterceptor.java:83)
 at com.opensymphony.xwork2.DefaultActionInvocation$2.doProfiling(DefaultActionInvocation.java:219)
 at com.opensymphony.xwork2.DefaultActionInvocation$2.doProfiling(DefaultActionInvocation.java:218)
 at com.opensymphony.xwork2.util.profiling.UtilTimerStack.profile(UtilTimerStack.java:455)
 at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:216)
 at org.apache.struts2.interceptor.FileUploadInterceptor.intercept(FileUploadInterceptor.java:207)
 at com.opensymphony.xwork2.DefaultActionInvocation$2.doProfiling(DefaultActionInvocation.java:219)
 at com.opensymphony.xwork2.DefaultActionInvocation$2.doProfiling(DefaultActionInvocation.java:218)
 at com.opensymphony.xwork2.util.profiling.UtilTimerStack.profile(UtilTimerStack.java:455)
 at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:216)
 at com.opensymphony.xwork2.interceptor.ModelDrivenInterceptor.intercept(ModelDrivenInterceptor.java:74)
 at com.opensymphony.xwork2.DefaultActionInvocation$2.doProfiling(DefaultActionInvocation.java:219)
 at com.opensymphony.xwork2.DefaultActionInvocation$2.doProfiling(DefaultActionInvocation.java:218)
 at com.opensymphony.xwork2.util.profiling.UtilTimerStack.profile(UtilTimerStack.java:455)
 at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:216)
 at com.opensymphony.xwork2.interceptor.ScopedModelDrivenInterceptor.intercept(ScopedModelDrivenInterceptor.java:127)
 at com.opensymphony.xwork2.DefaultActionInvocation$2.doProfiling(DefaultActionInvocation.java:219)
 at com.opensymphony.xwork2.DefaultActionInvocation$2.doProfiling(DefaultActionInvocation.java:218)
 at com.opensymphony.xwork2.util.profiling.UtilTimerStack.profile(UtilTimerStack.java:455)
 at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:216)
 at org.apache.struts2.interceptor.ProfilingActivationInterceptor.intercept(ProfilingActivationInterceptor.java:107)
 at com.opensymphony.xwork2.DefaultActionInvocation$2.doProfiling(DefaultActionInvocation.java:219)
 at com.opensymphony.xwork2.DefaultActionInvocation$2.doProfiling(DefaultActionInvocation.java:218)
 at com.opensymphony.xwork2.util.profiling.UtilTimerStack.profile(UtilTimerStack.java:455)
 at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:216)
 at org.apache.struts2.interceptor.debugging.DebuggingInterceptor.intercept(DebuggingInterceptor.java:206)
 at com.opensymphony.xwork2.DefaultActionInvocation$2.doProfiling(DefaultActionInvocation.java:219)
 at com.opensymphony.xwork2.DefaultActionInvocation$2.doProfiling(DefaultActionInvocation.java:218)
 at com.opensymphony.xwork2.util.profiling.UtilTimerStack.profile(UtilTimerStack.java:455)
 at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:216)
 at com.opensymphony.xwork2.interceptor.ChainingInterceptor.intercept(ChainingInterceptor.java:115)
 at com.opensymphony.xwork2.DefaultActionInvocation$2.doProfiling(DefaultActionInvocation.java:219)
 at com.opensymphony.xwork2.DefaultActionInvocation$2.doProfiling(DefaultActionInvocation.java:218)
 at com.opensymphony.xwork2.util.profiling.UtilTimerStack.profile(UtilTimerStack.java:455)
 at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:216)
 at com.opensymphony.xwork2.interceptor.I18nInterceptor.intercept(I18nInterceptor.java:143)
 at com.opensymphony.xwork2.DefaultActionInvocation$2.doProfiling(DefaultActionInvocation.java:219)
 at com.opensymphony.xwork2.DefaultActionInvocation$2.doProfiling(DefaultActionInvocation.java:218)
 at com.opensymphony.xwork2.util.profiling.UtilTimerStack.profile(UtilTimerStack.java:455)
 at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:216)
 at com.opensymphony.xwork2.interceptor.PrepareInterceptor.intercept(PrepareInterceptor.java:115)
 at com.opensymphony.xwork2.DefaultActionInvocation$2.doProfiling(DefaultActionInvocation.java:219)
 at com.opensymphony.xwork2.DefaultActionInvocation$2.doProfiling(DefaultActionInvocation.java:218)
 at com.opensymphony.xwork2.util.profiling.UtilTimerStack.profile(UtilTimerStack.java:455)
 at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:216)
 at org.apache.struts2.interceptor.ServletConfigInterceptor.intercept(ServletConfigInterceptor.java:170)
 at com.opensymphony.xwork2.DefaultActionInvocation$2.doProfiling(DefaultActionInvocation.java:219)
 at com.opensymphony.xwork2.DefaultActionInvocation$2.doProfiling(DefaultActionInvocation.java:218)
 at com.opensymphony.xwork2.util.profiling.UtilTimerStack.profile(UtilTimerStack.java:455)
 at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:216)
 at com.opensymphony.xwork2.interceptor.AliasInterceptor.intercept(AliasInterceptor.java:123)
 at com.opensymphony.xwork2.DefaultActionInvocation$2.doProfiling(DefaultActionInvocation.java:219)
 at com.opensymphony.xwork2.DefaultActionInvocation$2.doProfiling(DefaultActionInvocation.java:218)
 at com.opensymphony.xwork2.util.profiling.UtilTimerStack.profile(UtilTimerStack.java:455)
 at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:216)
 at com.opensymphony.xwork2.interceptor.ExceptionMappingInterceptor.intercept(ExceptionMappingInterceptor.java:176)
 at com.opensymphony.xwork2.DefaultActionInvocation$2.doProfiling(DefaultActionInvocation.java:219)
 at com.opensymphony.xwork2.DefaultActionInvocation$2.doProfiling(DefaultActionInvocation.java:218)
 at com.opensymphony.xwork2.util.profiling.UtilTimerStack.profile(UtilTimerStack.java:455)
 at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:216)
 at org.apache.struts2.impl.StrutsActionProxy.execute(StrutsActionProxy.java:50)
 at org.apache.struts2.dispatcher.Dispatcher.serviceAction(Dispatcher.java:507)
 at org.apache.struts2.dispatcher.FilterDispatcher.doFilter(FilterDispatcher.java:421)
 at com.caucho.server.dispatch.FilterFilterChain.doFilter(FilterFilterChain.java:70)
 at org.apache.struts2.dispatcher.ActionContextCleanUp.doFilter(ActionContextCleanUp.java:99)
 at com.caucho.server.dispatch.FilterFilterChain.doFilter(FilterFilterChain.java:70)
 at com.caucho.server.webapp.WebAppFilterChain.doFilter(WebAppFilterChain.java:173)
 at com.caucho.server.dispatch.ServletInvocation.service(ServletInvocation.java:229)
 at com.caucho.server.hmux.HmuxRequest.handleRequest(HmuxRequest.java:420)
 at com.caucho.server.port.TcpConnection.run(TcpConnection.java:514)
 at com.caucho.util.ThreadPool.runTasks(ThreadPool.java:520)
 at com.caucho.util.ThreadPool.run(ThreadPool.java:442)
 at java.lang.Thread.run(Thread.java:595)



鍒嗘瀽紼嬪簭
ProductBean 涓湁涓Set    priceSet,鑰屾垜鍦ㄥ悓涓涓柟娉曚腑鏈変袱嬈′嬌鐢ㄤ簡"from ProductBean..."鐨凥ql鍙ュ瓙,
铏界劧鎴戜嬌鐢ㄤ簡Lazy妯″紡,鍙袱嬈℃煡璇㈣繕鏄紩鐢ㄥ埌浜嗗悓涓涓狿roductBean涓殑priceSet;
鏀硅繘:
   鍏跺疄鎴戜袱嬈$敤鐨勬暟鎹槸涓嶄竴瑕佺殑,浣跨敤綺劇粏涓鐐圭殑鏌ヨ灝卞彲浠ヨВ鍐抽棶棰?濡傜涓嬈′嬌鐢?select p.name1,p.name2 from ProductBean  as p  ....",絎簩嬈$敤"select p.name1,p.name3 from ProdcutBean as p..."
闂灝辮В鍐充簡


KTOO 2008-02-04 03:56 鍙戣〃璇勮
]]>
Hibernate瀹炰緥瀛︿範(涓)http://www.aygfsteel.com/ktoo/archive/2007/08/19/137993.htmlKTOOKTOOSun, 19 Aug 2007 14:41:00 GMThttp://www.aygfsteel.com/ktoo/archive/2007/08/19/137993.htmlhttp://www.aygfsteel.com/ktoo/comments/137993.htmlhttp://www.aygfsteel.com/ktoo/archive/2007/08/19/137993.html#Feedback0http://www.aygfsteel.com/ktoo/comments/commentRss/137993.htmlhttp://www.aygfsteel.com/ktoo/services/trackbacks/137993.htmlhsql db涓嬭澆http://hsqldb.org

瑙e帇zip鏂囦歡錛屾柊寤轟竴涓洰鏍囩洰褰旸ataBase錛屾妸瑙e帇鍚庢枃浠朵腑鐨刣ata ,demo,lib鐩綍鎷峰埌DataBase涓?榪愯demo涓殑runServer.bat錛屽彲鍚姩鏈嶅姟錛岃繍琛宺unManager.bat鍙繍琛屽浘褰㈢晫闈?鏁版嵁搴撹交鏉炬悶瀹?鎵ц涓嬮潰SQL

CREATE TABLE EVENT
(EVENT_ID DOUBLE NOT NULL,
EVENT_DATE DATE,
TITLE VARCHAR(20)

鏂板緩宸ョ▼Test,騫跺垱寤哄瓙鐩綍src ,lib ,bin
 鍦╯rc.events涓啓瀹炰綋綾籈vent.java

package events;
import java.util.Date;
public class Event
{
    private Long id;
    private String title;
    private Date date;
    public Event(){};
    public Long getId()
    {
        return id;
    }
    public void setId(Long id)
    {
     this.id=id;
    }
    public Date getDate()
    {
        return date;
    }
    public void setDate(Date date)
    {
           this.date=date;
    }
    public String getTitle()
    {
        return title;
    }
    public void setTitle(String title)
    {
        this.title=title;
    }
}

鍦ㄧ被鍚屼竴鐩綍涓嬪啓鏄犲皠鏂囦歡Event.hbm.xml

鍦═est鏍圭洰褰曚笅鍐欓厤緗枃浠?Hibernate.hbm.xml

<?xml version='1.0' encoding='utf-8'?>
<!DOCTYPE hibernate-configuration PUBLIC
        "-//Hibernate/Hibernate Configuration DTD 3.0//EN"
        "
>

<hibernate-configuration>
  <session-factory>
    <property name="connection.driver_class">org.hsqldb.jdbcDriver</property>
    <property name="connection.url">jdbc:hsqldb:hsql://localhost</property>
    <property name="connection.username">sa</property>
    <property name="connection.password"></property>

    <property name="connection.pool_size">1</property>

    <property name="dialect">org.hibernate.dialect.HSQLDialect</property>
    <property name="current_session_context_class">thread</property>

    <property name="hbm2ddl.auto">create</property>

    <mapping resource="events/Event.hbm.xml"/>
  </session-factory>
</hibernate-configuration>

 嫻嬭瘯鍦╯rc.util鍐橦ibernateUtil.java鍜屽湪src.events涓璄ventManager.java

package util;
import org.hibernate.*;
import org.hibernate.cfg.*;
public class HibernateUtil
{
    private static final SessionFactory sessionFactory;
    static
    {
            sessionFactory=new Configuration().configure().buildSessionFactory();
    }
    public static SessionFactory getSessionFactory()
        {
            return sessionFactory;
        }
}

 

package events;
import org.hibernate.Session;
import java.util.Date;

import util.HibernateUtil;
public class EventManager
{
    public static void main(String [] args)
    {
            EventManager mgr=new EventManager();
          System.out.println("MEHTOD BEFORE ");
            mgr.createAndStoreEvent("MyEvnet",new Date());
    }
    private void createAndStoreEvent(String title,Date theDate)
    {
        try{
        Session session=HibernateUtil.getSessionFactory().getCurrentSession();
        System.out.println("AFTER1");
        session.beginTransaction();
        if(session==null)
            System.out.println("session==NULL");
        Event theEvent=new Event();
        theEvent.setTitle(title);
        theEvent.setDate(theDate);
        session.save(theEvent);
        session.getTransaction().commit();
        System.out.println("AFTER2");
        HibernateUtil.getSessionFactory().close();
        }
        catch(Exception e)
        {
            System.out.println("AFTER");
            //e.printStack();
            System.out.println("EEE"+e.toString());
        }
    }
};

OK

鍐嶇敤Ant鏋勫緩

<?xml version="1.0" ?>
<project name="hibernate-tutorial" default="compile">
   <property name="sourcedir" value="${basedir}/src"/>
   <property name="targetdir" value="${basedir}/bin"/>
    <property name="librarydir" value="${basedir}/lib"/>

    <path id="libraries">
       <fileset dir="${librarydir}">
         <include name="*.jar"/>
       </fileset>
    </path>

    <target name="clean">
        <delete dir="${targetdir}"/>
        <mkdir dir="${targetdir}"/>
    </target>

    <target name="compile" depends="clean,copy-resources,copyxml">
        <javac srcdir="${sourcedir}" destdir="${targetdir}"
              classpathref="libraries"  />
    </target>

    <target name="copy-resources">
      <copy todir="${targetdir}">
          <fileset dir="${sourcedir}">
            <exclude name="**/*.java"/>
          </fileset>
      </copy>
    </target>
    <target name="run" depends="compile">
    <java fork="true" classname="events.EventManager" classpathref="libraries">
       <classpath path="${targetdir}"/>
 </java>
    </target>
    <target name="copyxml">
      <copy todir="${targetdir}">
         <fileset dir="${basedir}">
          <include name="*.xml"/>
         </fileset>
      </copy>
    </target>
</project>

  鎶奌ibernate3鎵闇jar鍖呭拰hsql.jar鏀懼叆lib鐩綍銆?/p>

KTOO 2007-08-19 22:41 鍙戣〃璇勮
]]>
Hibernate鍩虹瀛︿範http://www.aygfsteel.com/ktoo/archive/2007/08/18/137818.htmlKTOOKTOOSat, 18 Aug 2007 07:18:00 GMThttp://www.aygfsteel.com/ktoo/archive/2007/08/18/137818.htmlhttp://www.aygfsteel.com/ktoo/comments/137818.htmlhttp://www.aygfsteel.com/ktoo/archive/2007/08/18/137818.html#Feedback0http://www.aygfsteel.com/ktoo/comments/commentRss/137818.htmlhttp://www.aygfsteel.com/ktoo/services/trackbacks/137818.html涓浜涘熀鏈師鍒?/div>

1.鎵鏈夌殑鎸佷箙鍖栧疄浣?persistent entity)綾婚兘搴旇闇瑕佷竴涓爣璇嗙灞炴?identifier),浠ヤ究浣跨敤Hibernate鎻愪緵鐨勬墍鏈夌壒鎬?涓鑸潵璇存垜浠篃涓嶄細鎿嶇旱鏍囪瘑絎?鎵浠ュ畠鐨剆etter鏂規硶搴旇涓簆rivate 鎴杙rotected

2.鎵鏈夋寔涔呭寲綾婚兘瑕佹眰鏈夋棤鍙傛暟鐨勬瀯閫犲櫒,鍥犱負Hibernate蹇呴』浣跨敤java鍙嶅皠鏈哄埗鏉ヤ負鎴戜滑鍒涘緩瀵硅薄,鏋勯犲櫒鐨勮闂駭鍒彲浠ユ槸private




KTOO 2007-08-18 15:18 鍙戣〃璇勮
]]>
主站蜘蛛池模板: 赣州市| 台前县| 邵阳县| 武义县| 大田县| 林周县| 澎湖县| 右玉县| 武宣县| 永川市| 平山县| 青铜峡市| 高唐县| 罗甸县| 梓潼县| 叙永县| 肥城市| 宁津县| 宁安市| 屯门区| 凤庆县| 平乐县| 鹤峰县| 镶黄旗| 石嘴山市| 汝阳县| 大化| 金乡县| 黔南| 洞口县| 天峻县| 临湘市| 琼中| 开鲁县| 周口市| 纳雍县| 丰台区| 乾安县| 海城市| 都昌县| 抚州市|