【问题标题】:How can I create an @Entity without a @Version field using Spring Roo?如何使用 Spring Roo 创建没有 @Version 字段的 @Entity?
【发布时间】:2013-12-15 12:10:14
【问题描述】:

我将 Spring Roo 与 JPA (Hibernate) 一起用于我的实体模型。我不想在某些实体中有 @Version 字段。我该怎么做?

【问题讨论】:

    标签: java spring-roo


    【解决方案1】:

    实体生成后,退出roo shell前,修改实体java源文件如下

        @RooJpaActiveRecord(...... ,versionField = "")
    

    【讨论】:

      【解决方案2】:

      尝试在 roo 中使用下面的注释

      @RooJpaEntity(versionField = "",
                    identifierColumn = "YOUR_DATABASE_FILEDNAME",
                    identifierField = "YOUIDNAME")
      

      【讨论】:

        【解决方案3】:

        Roo entity command 采用 --versionField 和“--versionColumn”参数。我认为设置 --versionField="" 应该对你有用。

        【讨论】:

        • 我试过 --versionField "" (extra = 导致语法错误),生成的 XXX_Roo_Entity.aj 仍然有字段版本,因此我认为至少在当前 Roo 版本中我们不能隐藏它1.1.1。 - 谢谢。
        【解决方案4】:

        没有特别的理由从 Roo 实体中删除 @Version,它省去了您在分布式 Web 应用程序中可能遇到的并发数据修改问题的麻烦。

        【讨论】:

        • 现有数据库没有版本列?
        • 这不能回答问题。就像@J-16SDiZ 所说,如果您使用的是旧数据库怎么办?
        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2023-03-06
        • 1970-01-01
        相关资源
        最近更新 更多