hibernate批量插入數據庫操做案例


public void testSave1() {
               Session session = null;
               Transaction tx = null;
               try {
                       session = HibernateUtils.getSession();
                       tx = session.beginTransaction();
                       User1 user = new User1();
                       user.setName("李四");數據庫

                        //主鍵採用數據庫序列自動生成策略
                       session.save(user);緩存

                        /*flush()和緩存相關。執行時會清除session緩存並向數據庫發送SQL語句並執行,但此時若是數據庫當前    存 在一個事務,數據庫會先將這些SQL語句緩存起來,那麼此時在數據庫中是沒法看到SQL語句執行結果的。除非執行commit提交了事務。只要沒有執行commit()方法,就能經過rollback()方法進行回滾*/
                       session.flush();

                       /*提交事務,默認狀況下commit操做會先執行flush清理緩存,因此不用顯示的調用flush,commit後數據是沒法 回滾的*/
                       tx.commit();
               } catch (Exception e) {
                       e.printStackTrace();
                       tx.rollback();
               } finally {
                       HibernateUtils.closeSession(session);
               }
       }
session

相關文章
相關標籤/搜索