作为Spring Roo在模式上执行DBRE的指南,我们有以下命令来生成实体及其相关文件。
我们可以在接受参数--activerecord或--repository之间进行选择;选择后一个将忽略第一个。
我的问题是两者之间有什么区别?
roo>数据库反向工程--schema DbSchemaName--package~.domain--activeRecord--存储库--service--testAutomatically--enableViews--includeTables--excludeTables--包含不可移植的属性--disableVersionFields--disableGeneratedIdentifiers
使用--activeRecord选项创建"活动记录"实体(如果未指定,则为默认值)。
使用--repository选项为每个实体。如果指定为true,那么--activeRecord选项为已忽略。
Roo在http://docs.spring.io/spring-roo/docs/1.3.1.RC1/reference/html/base-layers.html#d4e1932
活动记录模式
-
活动记录模式是访问数据库数据库表或视图被封装到一个类中。因此对象实例绑定到表中的一行。
-
示例:持久化新实例(创建新行):
Part part = new Part(); part.name = "Sample part"; part.price = 123.45; part.save();
存储库模式
-
Repository在域和数据映射层之间进行中介,其作用类似于内存中的域对象集合。从概念上讲,Repository封装了数据存储中持久化的一组对象以及对它们执行的操作,从而提供了持久化层的更面向对象的视图。Repository还支持实现域和数据映射层之间的干净分离和单向依赖的目标。
-
示例:持久化新实例(创建新行):
Part part = new Part(); part.name = "Sample part"; part.price = 123.45; //RepositoryFactorySupport ; factory = ...; // Instantiate factory here or similar PartRepository repository = factory.getRepository(PartRepository.class); repository.save(part);