隨筆 - 16  文章 - 0  trackbacks - 0
          <2012年6月>
          272829303112
          3456789
          10111213141516
          17181920212223
          24252627282930
          1234567

          常用鏈接

          留言簿

          隨筆檔案

          友情鏈接

          搜索

          •  

          最新評論

          閱讀排行榜

          評論排行榜

          第一步、配置實體Bean:
          @Entity
          @Table(name = "t_bd_city")
          public class City extends BaseObject {
             
              /**
               * 省份
               */
              @ManyToOne(fetch = FetchType.LAZY)
              @JoinColumn(name = "fprovinceid")
              private Province province;
          }

          第二步、手動提交保存方法:

          public abstract class CoreDaoHibernate<Entity extends CoreObject> implements CoreObjectDao<Entity> {

              /**
               * Log variable for all child classes. Uses LogFactory.getLog(getClass())
               * from Commons Logging
               */
              protected final Log log = LogFactory.getLog(getClass());
              private Class<Entity> persistentClass ;
              private HibernateTemplate hibernateTemplate;
              private SessionFactory sessionFactory;


              public CoreDaoHibernate(){
                  Class<?> c = this.getClass();
                  Type t = c.getGenericSuperclass();
                  if(t instanceof ParameterizedType){
                     this.persistentClass =  (Class<Entity>)((ParameterizedType) t).getActualTypeArguments()[0];
                  }
              }

              public HibernateTemplate getHibernateTemplate() {
                  return this.hibernateTemplate;
              }

              public SessionFactory getSessionFactory() {
                  return this.sessionFactory;
              }

              @Autowired
              @Required
              public void setSessionFactory(SessionFactory sessionFactory) {
                  this.sessionFactory = sessionFactory;
                  this.hibernateTemplate = new HibernateTemplate(sessionFactory);
              }

              /**
               * {@inheritDoc}
               */
              @Override
              public Entity save(Entity object) {
                  Entity result =  hibernateTemplate.merge(object);
                  hibernateTemplate.flush();
                  return result;
              }
          }

          第三步、配置web.xml
             <filter>
                  <filter-name>lazyLoadingFilter</filter-name>
                  <filter-class>org.springframework.orm.hibernate3.support.OpenSessionInViewFilter</filter-class>
                  <init-param>
                      <param-name>sessionFactoryBeanName</param-name>
                      <param-value>sessionFactory</param-value>
                  </init-param>
                  <init-param>
                      <param-name>singleSession</param-name>
                      <param-value>true</param-value>           
                  </init-param>
                  <init-param>
                      <param-name>flushMode</param-name>
                      <param-value>AUTO</param-value>        
                  </init-param>
              </filter>
            <filter-mapping>
                  <filter-name>lazyLoadingFilter</filter-name>
                  <url-pattern>/*</url-pattern>
              </filter-mapping>

          posted on 2012-06-18 23:24 民工二代 閱讀(314) 評論(0)  編輯  收藏

          只有注冊用戶登錄后才能發表評論。


          網站導航:
           
          主站蜘蛛池模板: 高雄县| 海城市| 南澳县| 河东区| 丰宁| 怀化市| 故城县| 新郑市| 乌鲁木齐市| 陕西省| 安义县| 布拖县| 铜川市| 玉田县| 朔州市| 达拉特旗| 龙岩市| 靖安县| 巴林右旗| 友谊县| 和静县| 临沧市| 怀集县| 新民市| 富蕴县| 开江县| 凤庆县| 凤城市| 南充市| 灵石县| 自治县| 平湖市| 石泉县| 肇源县| 汝州市| 铜梁县| 民勤县| 大石桥市| 神农架林区| 朔州市| 凤城市|