插入过程用synchronized insert()……

解决方案 »

  1.   

    Connection.setTransactionIsolation(Connection.TRANSACTION_SERIALIZABLE);
    插入后执行Connection.setTransactionIsolation(Connection.TRANSACTION_READ_COMMITTED);
      

  2.   

    to sole_lodestar(弱势群体应该怎么办) and WiseDragon(慧龙) :
    两位根本没细看,我是说不用存储过程去实现。to geniustop(Genius) :
    事务处理不能解决问题,它只能解决一个用户的多个操作的冲突,不能解决多个用户之间的操作冲突。拜托路过的人,认真看看我的问题再回答。
      

  3.   

    我的问题可能说得不是太清楚,补充一下:我在插入记录时锁定该表,目的是为了防止多人同时操作该表时,id号会产生冲突。希望用jdbc方法锁定和解锁该表,请各位高手回答
      

  4.   


    /**
     * 将传入booking对象插入数据库,更新bic、bc控制表对应记录内容
     * @param booking
     * @return
     * @throws Exception
     */
    public synchronized List retBookingResult( Booking booking) throws Exception {
    这是存储过程么????????
      

  5.   

    to sole_lodestar(弱势群体应该怎么办):
    sorry,我看错了,你看你写插入过程...以为是存储过程呢,真不好意思,不过你这个方法不可行啊。我是在struts的action中去掉用的这个方法,id号是[max(表中当前id号)+1]得到的,这样同时还是会好几个人获取相同id,会有问题的
      

  6.   

    我还是在spring的action里调用呢
    想想你这个分成几个过程,在需要同步的地方加上synchronized 
      

  7.   

    首先谢谢各位的回答。可能我的问题没有说清楚,所以各位的回答都不是我想要的,anyway,谢谢各位的参与,参与者有分