精华内容
下载资源
问答
  • 交易回滚

    千次阅读 2010-01-13 16:55:00
    /////////////////////////////////////////////////////////////////////////import java.util.*;import java.sql.*;import org.hibernate.*;import org.hibernate.cfg.*;import org.hibernate.criterion.*;...

     

    /
    import 
    java.util.*;

    import java.sql.*;
    import org.hibernate.*;
    import org.hibernate.cfg.*;
    import org.hibernate.criterion.*;

    public class Main {
      
      public static void main(String[] args) {
        HibernateUtil.setup("create table Supplier ( id int, name VARCHAR);");
        HibernateUtil.setup("create table Product ( id int, name VARCHAR, description VARCHAR, price double,supplierId int);");
        
        prepareData();

            SessionFactory factory = new Configuration().configure().buildSessionFactory();
            Product p = null;
            Session session = factory.openSession();
            Transaction tx = session.beginTransaction();
            p = (Product)session.createQuery("from Product where name='Product 1'").uniqueResult();
            tx.commit();

            System.out.println("Username of p acquired from DB... " + p.getName());
            System.out.println("Begin transaction:");
            tx = session.beginTransaction();
            System.out.println("Change name of p");
            p.setName("quentin");
            System.out.println("Username of p before rollback... " + p.getName());
            tx.rollback();
            System.out.println("Username of p after rollback... " + p.getName());

            tx = session.beginTransaction();
            System.out.println("About to refresh p!");
            session.refresh(p);
            System.out.println("Username of p after refresh... " + p.getName());
            tx.commit();
            System.out.println("Username of p after commit... " + p.getName());
        
            HibernateUtil.checkData("select * from Supplier");
            HibernateUtil.checkData("select * from Product");

      }
        static public void displaySupplierList(List list) {
            Iterator iter = list.iterator();
            if (!iter.hasNext()) {
                System.out.println("No suppliers to display.");
                return;
            }        
            while (iter.hasNext()) {
                Supplier supplier = (Supplieriter.next();
                String msg = supplier.getName();
                System.out.println(msg);
            }
        }

     


      private static void prepareData(){
            Session session = HibernateUtil.currentSession();

            Supplier supplier1 = new Supplier();
            supplier1.setName("Supplier Name 1");
            session.save(supplier1);
            
            Supplier supplier2 = new Supplier();
            supplier2.setName("Supplier Name 2");
            session.save(supplier2);        
            
            Product product1 = new Product("Product 1","Name for Product 1"2.0);
            product1.setSupplier(supplier1);
            supplier1.getProducts().add(product1);
            session.save(product1);
            
            Product product12 = new Product("Product 2","Name for Product 2"22.0);
            product12.setSupplier(supplier1);
            supplier1.getProducts().add(product12);        
            session.save(product12);
            
            Product product2 = new Product("Product 3""Name for Product 3"30.0);
            product2.setSupplier(supplier2);
            supplier2.getProducts().add(product2);
            session.save(product2);
            
            session.flush();
            HibernateUtil.closeSession();
      }
    }



    /
    public class Product
    {
        private int id;
        private Supplier supplier;
        
        private String name;
        private String description;
        private double price;
        
        public Product()
        {
            super();
        }
        
        public Product(String name, String description, double price)
        {
            super();
            this.name = name;
            this.description = description;
            this.price = price;
        }
        
        public String getDescription()
        {
            return description;
        }
        public void setDescription(String description)
        {
            this.description = description;
        }
        public int getId()
        {
            return id;
        }
        public void setId(int id)
        {
            this.id = id;
        }
        public String getName()
        {
            return name;
        }
        public void setName(String name)
        {
            this.name = name;
        }
     
        public Supplier getSupplier()
        {
            return supplier;
        }
        public void setSupplier(Supplier supplier)
        {
            this.supplier = supplier;
        }
        
        public double getPrice()
        {
            return price;
        }
        public void setPrice(double price)
        {
            this.price = price;
        }
    }




    /
    <?xml version='1.0' encoding='utf-8'?>
    <!DOCTYPE hibernate-mapping
       PUBLIC "-//Hibernate/Hibernate Mapping DTD//EN"
       "http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd">

    <hibernate-mapping>
       <class name="Supplier">
          <id name="id" type="int">
             <generator class="increment"/>
          </id>

          <property name="name" type="string"/>
          <bag name="products" inverse="true" cascade="all,delete-orphan">
            <key column="supplierId"/>
            <one-to-many class="Product"/>
          </bag>


       </class>
    </hibernate-mapping>




    /

    import java.util.ArrayList;
    import java.util.List;

    public class Supplier
    {
        private int id;
        private String name;
        private List products = new ArrayList();
        
        public int getId()
        {
            return id;
        }
        public void setId(int id)
        {
            this.id = id;
        }
        public String getName()
        {
            return name;
        }
        public void setName(String name)
        {
            this.name = name;
        }
        public List getProducts()
        {
            return products;
        }
        public void setProducts(List products)
        {
            this.products = products;
        }
    }



    /
    <?xml version='1.0' encoding='utf-8'?>
    <!DOCTYPE hibernate-configuration PUBLIC
        "-//Hibernate/Hibernate Configuration DTD//EN"
        "http://hibernate.sourceforge.net/hibernate-configuration-3.0.dtd">
    <hibernate-configuration>
        <session-factory>
            <!-- Database connection settings -->
            <property name="connection.driver_class">org.hsqldb.jdbcDriver</property>
            <property name="connection.url">jdbc:hsqldb:data/tutorial</property>
            <property name="connection.username">sa</property>
            <property name="connection.password"></property>

            <!-- JDBC connection pool (use the built-in-->
            <property name="connection.pool_size">1</property>

            <!-- SQL dialect -->
            <property name="dialect">org.hibernate.dialect.HSQLDialect</property>

            <!-- Echo all executed SQL to stdout -->
            <property name="show_sql">true</property>

            <!-- Mapping files -->
            <mapping resource="Product.hbm.xml"/>
            <mapping resource="Supplier.hbm.xml"/>
        </session-factory>
    </hibernate-configuration>

    展开全文
  • 今天,币圈最大的事件,是OK的交易回滚事件。什么是回滚呢?简单说,就是在交易所已经完成的交易,因为各种原因,交易所再把交易强制恢复到原来的状态。交易所这事没少干,之前币安被黑的时候,也回滚过交易。到底是...

    今天,币圈最大的事件,是OK的交易回滚事件。

    什么是回滚呢?

    简单说,就是在交易所已经完成的交易,因为各种原因,交易所再把交易强制恢复到原来的状态。

    交易所这事没少干,之前币安被黑的时候,也回滚过交易。

    到底是什么原因OK要将交易回滚呢?

    我们看一下他们的官方公告:

    OK交易回滚,是执念在作祟

    翻译一下,就是:

    尊敬的用户

    我是你爹

    OKEX

    2018年3月30日

    今天凌晨各大平台比特币最低的价格是6900左右。

    OK交易回滚,是执念在作祟

    而okex的合约价格砸到了多少呢?4700!这个价格是什么意思呢?只要你在睡觉前做了多,那么你一觉醒来,所有钱清零。

    不管你在哪个价格做了多,不管你买了多少,凌晨六点,所有做多的都爆仓。

    OK交易回滚,是执念在作祟

    okex比特币期货这事,说句公道话。感觉不像是ok自己搞事情,这个时期太敏感,这次事情又太浮夸。ok也该吸取教训,优化下合约机制。

    人呐都是利己主义,ok这次事件,5-7点爆仓的多军非常愤怒,搜罗了大量可以证明自己是受害者的信息。

    而空军,无不得意洋洋的晒出了自己的高倍收益单,那一刻认为自己太牛逼了。

    ok发布公告后,又是另一幅嘴脸。多军发现自己没损害了,马上乐起来看戏。空军里高价买了币,现在开始搜罗证据要带农药上门了。

    OK交易回滚,是执念在作祟

    其实,这件事回滚给币圈带来影响,远比恶意操作来得多。

    交易所一次次的回滚交易,会极大伤害以去中心化为诉求的数字货币。

    大家想想,如果某电商因为系统漏洞,弄错商品价格,你下单后商家说系统原因订单无效,你会不会觉得商家耍流氓?

    所以,对于各大交易所来说,不能无限制的挥霍自己的信用,眼下的,还是努力提高自己的安全等级和交易规则,而不是一出现问题了就想着回滚。

    此外,以后大家还是理智投资,别总是赚了笑嘻嘻,亏钱就维权。没有交易经验的少去玩期货。

    展开全文
  • 据 PeckShield 态势感知平台数据显示:昨天,黑客ybdzmtgouwxn向一款EOS 竞猜类游戏nutsgambling发起攻击,在不到一小时内,共计发起144次攻击...PeckShield 安全人员分析发现,黑客是采用交易回滚攻击手段对游戏...

    据 PeckShield 态势感知平台数据显示:昨天,黑客ybdzmtgouwxn向一款EOS 竞猜类游戏nutsgambling发起攻击,在不到一小时内,共计发起144次攻击,总计获利1141.71个EOS。为了防止资金流向被追踪,该黑客采用多个子账号顺序将所获资产转移至账号kcbtvwtxeabc中,暂未提取到交易所。PeckShield 安全人员分析发现,黑客是采用交易回滚攻击手段对游戏合约实施攻击。最近一段时间该攻击形态频繁出现,对竞猜类游戏生态造成严重的威胁,广大游戏开发者需提高警惕

    展开全文
  • 成都链安区块链安全态势感知系统Beosin-Eagle Eye检测到今日13:33,TBBWzZ地址开头的黑客通过交易回滚的方式对TKjoHFN开头的波场游戏持续发起攻击...
        

    640?wx_fmt=png


    成都链安区块链安全态势感知系统Beosin-Eagle Eye检测到今日13:33,TBBWzZ地址开头的黑客通过交易回滚的方式对TKjoHFN开头的波场游戏持续发起攻击。截至目前,攻击已经开始获利。


    此前成都链安已经披露多起波场DApp遭交易回滚攻击事件。成都链安安全人员提醒波场游戏项目开发者应警惕此类交易回滚攻击的持续蔓延,过滤合约玩家,必要时联系安全公司进行安全服务,避免不必要的资产损失,同时欢迎各区块链游戏项目方加入成都链安的鹰眼态势感知系统,我们将为大家免费提供预警报警服务。



    欢迎大家体验:


    一、智能合约自动形式化验证平台VaaS精简版,准确率达到95%以上


    Beosin(成都链安科技)已向全球发布VaaS平台,全球首个同时支持ETH、EOS、Fabric、ONT、TRON等多个区块链平台的智能合约形式化验证平台,准确率达到95%以上。


    VaaS(精简版)系统为所有区块链从业者提供方便而免费的智能合约安全审计服务,对智能合约安全漏洞进行形式化验证,从容应对常规合约安全问题。欢迎大家登陆官方网址体验:


    官方网址:

    https://beosin.com/vaas/index.html#/audit/ptsj


    640?wx_fmt=jpeg

    ▲VaaS 精简版平台


    二、在线 Beosin-IDE 免费版本


    Beosin-IDE 是一款免费的面向BOS、EOS区块链平台的智能合约在线集成开发环境,可同时支持合约开发、部署、测试和源码调试等功能的在线区块链应用开发集成环境。


    欢迎大家免费体验:通过浏览器访问

    https://beosin.com/BEOSIN-IDE/index.html#/

    (如下图,推荐Chrome浏览器)。


    640?wx_fmt=jpeg

    ▲Beosin EOS-IDE


    Beosin官方发表正式声明:


    为了全球化市场战略需要,公司发布全新英文品牌 “Beosin”。作为深耕区块链安全领域的公司,“Beosin”力求为行业保驾护航,以打造区块链全生态安全为宗旨,竭诚为客户提供包括智能合约安全审计、智能合约开发审计一条龙、钱包安全审计、DApp渗透测试、区块链平台安全检测、交易所安全服务、安全产品定制化服务、企业级安全服务等。但公司英文名称更名并不涉及业务架构或公司所有权变化。新品牌的Logo如下图:


    640?wx_fmt=jpeg


    近期,有XX链安科技与成都链安科技重名,且Logo及宣传语相似。成都链安科技是一家由分布式资本、界石资本、盘古创富投资的专门从事区块链安全的公司,与其他XX链安科技无任何关联。请大家认准成都链安科技唯一指定商标品牌,谨防上当受骗,一切消息以官网及官方公众号为准。


    成都链安科技官方公众号名称:Beosin成都链安

    成都链安科技官方网址:

    www.lianantech.com

    ——Beosin


    640?


    关于Beosin:


    Beosin成都链安是一家专门从事区块链安全的公司,由从事航空、航天、军事安全领域10多年的,形式化验证技术专家电子科技大学杨霞、郭文生两位教授联合创立,团队核心员工由海外知名高校和实验室、具留学经历的教授、博士后、博士以及曾任职于阿里、华为等知名企业的精英组成。


    是全球最早一批将形式化验证技术应用到区块链安全领域的团队,率先研发了国际领先、同时支持多个区块链平台(ETH,EOS,Fabric,蚂蚁BaaS、ONT、BCOS等)的智能合约自动形式化验证平台VaaS(准确率达到95%以上),并搭建了一站式区块链安全服务平台,建立了一整套“区块链安全开发—— 基于形式化验证的安全检测——运行时安全监控与防护”的完善安全防御体系,用户数已超过2万人,申请软件发明专利和著作权10多项,已审计智能合约近千份,审计链平台几十个,精通多个主流区块链平台。


    目前成都链安已获得分布式资本、界石资本、盘古创富等著名投资机构的股权投资,与蚂蚁金服、普华永道、微众银行、ONT、NEO、Qtum、布比区块链、R3V等国内外60多家区块链企业,Huobi、OKEx、KuCoin、抹茶、链上等近百家数字货币交易所建立长期战略合作关系。


    640?wx_fmt=png640?wx_fmt=png





    Beosin

    作为Huobi、OKEx、KuCoin

    CoinBene、CoinTiger等

    著名交易所指定的合约审计公司。 

    入选Etherscan智能合约安全审计名单。


    欢迎联系Beosin,了解智能合约安全审计

    智能合约开发审计一条龙

    钱包安全审计

    DApp渗透测试

    区块链平台安全检测

    交易所安全服务

    安全产品定制化服务

    企业级安全服务

     ·

    电话:028-83262585

    网站:www.lianantech.com

    邮箱:vaas@lianantech.com

    地址成都市世纪城南路599号

    天府软件园D7座504室


    官网:

    https://www.lianantech.com


    GitHub网址:

    https://github.com/Lianantech/VCA


    Facebook网址

    https://www.facebook.com/BeosinChengdu/


    twitter网址:

    https://twitter.com/Beosin_com


    Telegram中文群:

    https://t.me/LiananTech_cn


    Telegram英文群:

    https://t.me/LiananTech_en


    微博:

    https://weibo.com/u/6566884467


    CSDN博客:

    https://blog.csdn.net/CDLianan


    知乎专栏:

    640?wx_fmt=jpeg



      点击了解更多



    640?wx_fmt=jpeg

    展开全文
  • 据区块链安全公司PeckShield(派盾)监测显示,今日凌晨0点至3点,TM66Bg地址开头的黑客通过创建多个合约对波场DApp游戏,SPOKpark发起交易回滚攻击,已获利50,845个TRX,目前SPOKpark主合约余额已经归零,且网站...
  • Yii交易没有回滚

    2013-05-02 14:38:19
    ...can someone help me? thanks <pre><code> $transaction = Yii::app()->db->beginTransaction();... $category = MyController::saveCategory($params);... // here is an exception and it should rollback ...
  • 异常:交易已经回滚

    2018-07-02 13:38:00
    案例: addnew 方法出现异常,但是没有向外抛出,并且回滚了事务,导致后续的数据库操作都提示交易已经回滚。 解决方案:使用addnewBatchData 替代 addnew 转载于:...
  • <p>I am using old-style <code>mysql_query()</code> functions to perform a transaction. It is not rolling back even though one of the queries in the transaction has failed. I have debugged affected...
  • 数据库金额交易(事务回滚) import java.sql.*; import java.util.Scanner; public class jdbc_test { public static void main(String[] args) throws ClassNotFoundException, SQLException { Connection ...
  • 在做的项目中,有一个基金产品... 但现在的问题是购买失败则一个java类里的前两个交易都给做了现在,想不出什么类似操作数据库的事务回滚机制才控制这段交易,该交易在一个页面完成。望经验丰富的朋友给个思路,谢谢!
  • 2018 年 12 月 19 日,众多游戏类 DApp 遭遇交易回滚攻击,其中包括 BetDice,EOSMax,ToBet 等。按当时 18 元人民币的价格计算,损失超过 500 万人民币。期间 BetDice 通过链金术平台发出多次公告,一度造成恐慌。 ...
  • 后来出现A应用挂掉,引发的问题是发现B返回给A系统,找不到相关流水,最后发现是linux在内存吃紧的情况下,会杀掉占用最大的进程,导致了数据库事务的回滚,但是RPC调用成功了,这是一个容易疏忽的不一致点。...
  • 在主网上玩耍的小伙伴们肯定遇到过区块回滚导致自己的交易没有上链。这种情况让有些人误以为区块回滚会丢弃交易。 其实区块回滚并不是导致交易没上链的主要原因, 主要原因是交易过期了才导致交易被丢弃。 流程描述...
  • JAVA 通过 web3j调用智能合约函数gas不足会导致交易回滚。问题现象就是调用智能合约函数后,然后再调用对应的查询函数,去查询刚才要求写入的数据,发现数据没写入成功,查询出来的都是写零或空(数字状态变量为零...
  • 提交回滚

    2012-01-06 16:34:20
    拿银行转账来说,银行将操作看成事务,A转帐给B人民币100元,银行先从A账户扣100元,如果这时候由于网络或其他原因,B账户未增加100元,这时候等于交易没完成,就要回滚,如果这两A+100和B-100都成功了,才能提交,...
  • 很多新手在进行项目过程中,会碰到这样一种情况,如:论坛扣币项目中,用户支付论坛币的时候如果突然断网、电脑死机、停电、等其它自然灾害时,导致本次交易没有成功(即用户的币已经扣掉了,但是服务器数据库中没有...
  • 用简单的交易作为START TRANSACTION;UPDATE posts SET status='approved' where post_id='id' AND status !...但是当没有更新行时,上面的UPDATE不会给出回滚事务的错误.如何在行更新时限制事务提交(我的意思是状态...
  • 首先根据我有限的知识判断,回滚之后进行写表,该写表动作只能使用listener来进行。 考虑使用的listener有:ItemWriteListener StepExecutionListener ChunkListener 我首先使用了ItemWriteListener,在...
  • #在审核交易流水时,发现有没有对应仓库或者门店编号的收款机. SELECT COUNT(1) INTO vCNT FROM ( SELECT DISTINCT P01005 FROM P010 A, BASFG B WHERE A.P01001 = B.UID ...
  • <p>The code: <pre><code>class myModel extends Phalcon\Mvc\Model { public function beforeSave() { $this->...<p>My question is - what happens if along the way, between <strong>beforeSave()...
  • oracle加快回滚速度

    2017-12-25 16:40:55
    记得一次大批量删除数据时,由于回滚段满,导致delete操作失败,大量事务回滚,这个表又是交易使用,rollback时,导致cpu idle急剧降低,cpu和io都繁忙了,交易根本无法使用这个表,程序直接挂死,真是带血的教...
  • Hi,everybody!这是3月8日的每日1句话新闻,只需1分钟,看看全球最热、最新的区块链新闻。▌实时币价:BTC $9815 | ETH $743观点微软:区块链或可帮政府...此次攻击是有预谋的,钓鱼偷盗的交易无法回滚比特币跌穿10
  • 汇票系统,下述发布贴现方法,要求先创建票据再创建贴现交易,整体是一个事务。如果不加异常捕获,那么一旦程序执行出现RuntimeException后,AOP捕获异常后默认会先回滚事务再throw,只不过这样对调用方(有时)不“.....
  • 事务回滚的使用

    2019-07-28 19:03:17
    在我们做项目的过程中,有许多需要交易的需求,而在做交易需求的功能时,一般都需要一步步新增许多...因此我们就需要用到一个事务回滚的方法,让它只有把数据全部新增完成后才能进行保存,如果只执行到一半的话,就...
  • 在介绍undo之前先说一下另外一个东西 transaction ,翻译成交易或事务。我们在进行一个事务的过程中需要申请许多资源,一个复杂的事务也需要很多步来完成。那么一个复杂的事务是只有两个结果,要么成功,要么失败...
  • django orm 事务 回滚

    千次阅读 2018-07-06 19:48:28
    推荐的方法依据Django1.6的文档,“Django提供了一种简单的API去控制数据库的事务交易...原子操作用来定义数据库事务的属性。原子操作允许我们在数据库保证的前提下,创建一堆代码。如果这些代码被成功的执行,所...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 460
精华内容 184
关键字:

交易回滚