• CUBA 7 新特性 (下篇)


     

     

      上篇我们主要介绍了 CUBA 7 中前端的一些主要功能。这篇我们介绍一下中间件的一变化和新特性。

    中间件功能

      前面关于新的界面 API 的描述内容比我预期的要多许多,所以在这一节,我会尽量简单点说!

    实体更改事件

      实体更改事件是一个Spring 应用程序事件。在实体已经进入数据存储、已物理插入且马上要提交事务时触发。这时,可以进行一些额外的检查(例如,在确认订单之前检查库存中的产品可用性)并在其他事务可见前对数据进行一些修改(例如重新计算总数)(显然需要使用“读已提交”事务隔离级别)。在这个事件处理器中你还可以通过抛出异常来中断事务,这是中断事务的最后一个机会,在某些极端情况下可能很有用。

      还有一种方法可以在事务提交后捕获实体更改事件。

      按照这个文档的描述查看示例。

    事务型数据管理器

      在开发应用程序时,我们通常使用分离的实体 ,这种实体不受任何事务管理。但是,在有些情况下使用分离的实体并不可行,特别是在需要满足 ACID 要求时 ,这时你就需要使用事务型数据管理器。它看起来与普通的数据管理器非常相似,但在以下方面有所不同:

      l 它可以嵌入现有事务(如果在事务上下文中调用它)或创建自己的事务。

      l 它没有 commit  方法,但是有 save 方法,save 方法不会立即提交事务,待附加的事务提交时才提交。

      这里有相关示例。

    JPA生命周期回调

      最后,CUBA 7 支持 JPA 生命周期回调。 对于生命周期回调我们在文档中有精细的描述,这里我就不再重复了。可以在这里找到详细的描述。

    兼容性怎么样?

     

      任何重大版本的发布都是一个需要认真对待问题,特别有这么多看起来具有破坏性的变化时! 我们设计所有这些新功能和 API,同时考虑到向后兼容性:

      l CUBA 7 支持旧的界面 API,同时在底层使用新的 API 实现这些旧的 API 功能。

      l 我们还为旧的数据绑定提供了适配器,这些适配器继续适用于旧的界面。

      所以,好消息是,从版本 6 到 7 的迁移应该非常简单。

    总结

      在结束这个技术概述时,我想提一下,还有其他重要的更新,特别是在许可方面:

      l Studio 已取消10个实体的限制。

      l 报表、BPM(业务流程管理)、图表和地图以及全文搜索扩展现在都免费并开源。

      l Studio 的商业版致力于通过可视化设计器来提升实体、界面、菜单和其他平台元素的开发体验,而在免费版中主要通过编码的方式实现这些。

      l 请注意,对于6.x 及更早版本的 Platform 和 Studio ,许可条款保持不变!

      最后,让我再次感谢社区成员的所有支持和反馈。 希望你们会喜欢第 7 版! 根据传统,发行说明中提供了完整的更改列表。

  • 相关阅读:
    2016huasacm暑假集训训练四 递推_A
    2016huasacm暑假集训训练三 G
    2016huasacm暑假集训训练三 F
    今年暑假不AC
    Who's in the Middle
    The Suspects
    食物链
    抓牛问题
    士兵队列训练问题
    H
  • 原文地址:https://www.cnblogs.com/cubacn/p/cuba-version.html
Copyright © 2020-2023  润新知