JHipster-生成DTO时是否需要对实体的Jackson注释?

时间:2019-05-15 17:23:12

标签: jhipster

我已经尝试过使用带有和不带有DTO生成的JHipster v6.0.1(通过MapStruct提供)。项目在两种配置中都能正常工作。但是,我注意到,无论选择DTO还是在Hibernate实体上生成Jackson批注。由于DTO用于到JSON的串行化,在这种情况下它们不是多余的吗?

也许我缺少一些东西,也许它们是与Elasticsearch一起使用所必需的?否则,这似乎应该是一个小错误。

我已经生成了许多JHipster项目来测试其功能。下面提供了一个简单的JDL文件:

application {
    config {
        baseName proj
        applicationType monolith
        packageName com.mycompany.proj
        authenticationType session
        buildTool maven
        databaseType sql
        devDatabaseType h2Memory
        prodDatabaseType postgresql
        cacheProvider no
        enableHibernateCache false
        clientFramework react
        useSass true
        enableTranslation false
    }
    entities *
}

entity Box {
    label String required
}

entity Item {
    count Integer required
}

entity Product {
    description String required,
}

entity Sku {
    barcode String required,
}

relationship OneToMany {
    Box{item} to Item{box},
    Item{product} to Product{item}
}

relationship OneToOne {
    Product{sku(barcode)} to Sku
}

// Set pagination options
paginate * with pagination

// Set service options (prefer class to interface for less boilerplate)
service * with serviceClass

// Use Data Transfert Objects (DTO)
dto * with mapstruct

使用DTO选项时,不应在实体上生成任何Jackson注释。这样可以使生成的各个层保持“干净”。

0 个答案:

没有答案