【问题标题】:How to remove version from entity jpa command如何从实体 jpa 命令中删除版本
【发布时间】:2017-02-17 16:18:37
【问题描述】:

我正在使用 Spring Roo 2.0.0.M3 和 Spring Tool Suite 3.8.3。我有一个关于“实体 jpa”命令的问题。我用它来定义一个描述 MySql 表的类。该表没有版本列,但实体 jpa 命令强制我使用一个。这是我使用的命令:

entity jpa --class ~.domain.SFDCRecordTypeAccount --table sfdc_record_type_account --identifierColumn sfdc_record_type_account_id --versionField version --versionColumn version --versionType int --sequenceName sequenceName --identifierStrategy AUTO 

现在我有一个不能准确反映 MySql 表的类。我唯一的选择是从 java 代码中手动删除版本,还是有办法通过 Spring Roo 删除它?

【问题讨论】:

    标签: spring-roo


    【解决方案1】:

    默认情况下,Spring Roo 包含版本字段,以便能够在实体编辑期间管理并发。强烈建议包含此字段,以防止在更新期间丢失信息。

    正如我所说,Spring Roo 包含它是为了防止信息丢失,但如果您不需要它,您可以直接从 .java 类中删除它。

    这么简单!

    另一种可能的解决方案是删除@Version 注释并包含@Transient 以忽略此字段。

    无论如何,我建议您始终使用生成的字段version

    希望对你有帮助,

    【讨论】:

    • 谢谢。一旦我弄清楚如何使用 @Transient 注释,我就能让它工作。我在 setter 方法上也需要它。
    • 很高兴听到这个消息!如果我的回答对您有帮助,请记得验证! :) 问候,
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-04-11
    • 1970-01-01
    • 1970-01-01
    • 2018-03-21
    • 2018-02-25
    • 2020-03-17
    相关资源
    最近更新 更多