1

正如 Spring Roo在此处对模式执行 DBRE 的指南一样,我们有以下命令来生成实体及其相关文件。

我们可以在参数--activerecord 或--repository 之间进行选择;选择后者将忽略第一个。

我的问题是两者之间有什么区别?

roo>数据库逆向工程师--schema DbSchemaName --package ~.domain --activeRecord --repository --service --testAutomatically --enableViews --includeTables --excludeTables --includeNonPortableAttributes --disableVersionFields --disableGeneratedIdentifiers

使用--activeRecord选项创建“活动记录”实体(如果未指定,则为默认值)。

使用--repository选项为每个实体创建 Spring Data JPA 存储库。如果指定为 true,则忽略 --activeRecord 选项。

4

1 回答 1

8

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();
    

存储库模式

  • 存储库在域和数据映射层之间进行调解,就像内存中的域对象集合一样。从概念上讲,存储库封装了持久化在数据存储中的一组对象以及对它们执行的操作,从而提供了持久层的更面向对象的视图。存储库还支持实现域和数据映射层之间的清晰分离和单向依赖的目标。

  • 示例:持久化新实例(创建新行):

    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);
    
于 2014-11-26T14:38:16.843 回答