上篇我们主要介绍了 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 版! 根据传统,发行说明中提供了完整的更改列表。

CUBA 7 新特性 (下篇)的更多相关文章

  1. CUBA 7 新特性(上篇)

    三年前,我们宣布了 CUBA 框架的第二个公开的主版本.CUBA 6 是改变游戏规则的版本 - 框架的许可从私有化变成了公开的 Apache2.0.那些日子里,我们甚至猜不到这个变化会最终将框架带向何 ...

  2. 【ArcGIS 10.2新特性】ArcGIS Online新特性(上)

    概述 7月,ArcGIS Online发布了很多更新.主要内容有:新的网站设计,增强了Web制图,数据分析,应用程序创建,以及机构管理等功能. 更新的大致内容总结如下: 地图查看器:新的分析工具.获取 ...

  3. Servlet3.0新特性(从注解配置到websocket编程)

    Servlet3.0的出现是servlet史上最大的变革,其中的许多新特性大大的简化了web应用的开发,为广大劳苦的程序员减轻了压力,提高了web开发的效率.主要新特性有以下几个: 引入注解配置 支持 ...

  4. ES6相关新特性介绍

    你可能已经听说过 ECMAScript 6 (简称 ES6)了.ES6 是 Javascript 的下一个版本,它有很多很棒的新特性.这些特性复杂程度各不相同,但对于简单的脚本和复杂的应用都很有用.在 ...

  5. ABAP 7.50 新特性 – Open SQL中的宿主表达式和其它表达式

    在长期的停滞后,Open SQL的发展终于从沉睡中醒来.从ABAP 7.40开始,SAP推进了某些关键的改变,以尽可能地包含SQL92中的特性,并提供与ABAP CDS中的DDL里面的SELECT一样 ...

  6. Java 8新特性之lambda(八恶人-2)

    Major Marquis Warren 沃伦·马奎斯少校 “Tring to get a couple of bounties in to Red Rock.”我想带几个通缉犯去红石镇 一.基本介绍 ...

  7. 【Java8新特性】关于Java8中的日期时间API,你需要掌握这些!!

    写在前面 Java8之前的日期和时间API,存在一些问题,比如:线程安全的问题,跨年的问题等等.这些问题都在Hava8中的日期和时间API中得到了解决,而且Java8中的日期和时间API更加强大.立志 ...

  8. C# 9.0 新特性之只读属性和记录

    阅读本文大概需要 2 分钟. 大家好,这是 C# 9.0 新特性系列的第 4 篇文章. 熟悉函数式编程的童鞋一定对"只读"这个词不陌生.为了保证代码块自身的"纯洁&quo ...

  9. SQL Server 2014 新特性——内存数据库

    SQL Server 2014 新特性——内存数据库 目录 SQL Server 2014 新特性——内存数据库 简介: 设计目的和原因: 专业名词 In-Memory OLTP不同之处 内存优化表 ...

随机推荐

  1. CentOS搭建NFS服务

    系统结构 ----------------------------------------------------------------------------------------------- ...

  2. RequestHelper

    Request["param"] 全部 Request.QueryString["param"] get Request.Form["param&qu ...

  3. 在c#客户端程序中使用log4net

    为什么使用log4net 有些日志语句只是在开发中用于调试的,不应该在Release版本中输出,log4net通过配置文件可以为Debug和Release不同的模式设置不同的输出级别来控制,而且如果已 ...

  4. NetCore入门篇:(十一)NetCore项目读取配置文件appsettings.json

    一.简介 1.读取配置文件是开发过程中使用非常频繁的操作.属称”不能写死“ 二.NetCore读取配置文件 1.新建一个静态公共变量,属称单例. 2.在程序Startup启动时,将系统变量传递给单例. ...

  5. c#快速导出到Excel

    导出到Excel,基本是很多单据的标配功能了.笔者之前将Datagridview的数据导出到Excel时,将数据一个单元格一个单元格的写入,效率奇慢, 1030条数据花费了将近70s的时间.后来借鉴了 ...

  6. poj 3250 Bad Hair Day(栈的运用)

    http://poj.org/problem?id=3250 Bad Hair Day Time Limit: 2000MS   Memory Limit: 65536K Total Submissi ...

  7. jzoj5347

    tj:80pts:維護f[i][j]表示當前第i個方塊必須選,且選了j個的最優解,設w[i]為第i個方塊長度 則可以枚舉上次選了第k個方塊,則f[i][j]=max{f[k][j-1]+w[i]*(i ...

  8. 程序猿的日常——Java基础之equals与hashCode

    equals和hashCode是我们日常开发最常使用的方法,但是因为一般都使用默认的规则,因此也很少会引起关注.不过了解他们的用途和设计的原则,还是会帮助我们更好的设计代码. equals equal ...

  9. 重新设置Linux文件共享密码..

    今天同事把我主机踹倒了,鼠键都没反应,于是我在Linux运行的情况下强制重启了下电脑. 启动完了VMware后Linux重启,正常使用.后来我想起来有快照功能 之前也没用到过,于是就点了一下刚开始安装 ...

  10. 二:maven构建module

    通常情况下,我们一个项目是需要分多个模块的,这是我们用maven管理项目就需要构建一个多模块的项目: 通常的结构是一个模块中有一个主项目,下面包含多个子项目,如果是web项目则子项目中有一个是java ...