如何在JPA中覆盖注释定义的表名?

埃德姆退休

我的应用程序中有具有此批注结构的表,并且JpaRepository用于CRUD操作。

@Entity
@Table(name = "FOO")
public class Foo implements Serializable {
}

但是我只需要覆盖@Column一个orm.xml或属性文件中的表名(而不是任何其他的属性),而无需更改实际代码。我进行了搜索,但在Spring Data JPA中找不到解决方法。我在这里缺少什么还是不支持吗?

艾伦·海伊(Alan Hay)

首先,Spring Data不是JPA提供程序,而仅仅是提供包装程序通用持久性操作的“帮助器”库。但是,JPA规范确实提供了一种通过XML映射文件覆盖注释的机制。因此,假设您的提供者(Hibernate,EclipseLink,OpenJPA或其他任何一种)完全实现了JPA规范,那么您应该能够做到这一点。

但是,似乎不能仅覆盖表名:除非将列名映射到默认值,否则据我所知,您需要指定映射文件中的每一列-我认为这有点不方便。

《专业JPA 2:精通Java持久性API》一书指出:

元数据完成属性是实体,映射超类和可嵌入元素上的属性。如果指定,则将忽略指定类以及该类中任何字段或属性上的所有注释,并且仅映射文件中的元数据将被视为该类的元数据集。启用元数据完整功能后,使用XML映射的实体时,我们应用于带注释的实体的规则仍将适用。例如,必须映射标识符,并且必须在实体元素内使用其对应的基数映射指定所有关系。

因此,您将需要在orm.xml中添加如下所示的条目,并根据需要添加其他属性。

 <entity-mappings>
    <entity class="examples.Foo" metadata-complete="true">
        <table name="NEW_FOO"/>
        <attributes>
            <id name="id"/>
        </attributes>
    </entity>
</entity-mappings>

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何在CMake中覆盖宏定义

来自分类Dev

如何在Rails中覆盖HABTM表

来自分类Dev

SYMFONY自定义CONSTRAINT->将变量传递给自定义CONSTRAINT /绑定到表单字段的CONSTRAINT如何在注释中覆盖CONSTRAINT

来自分类Dev

如何在SQLAlchemy中定义基类中的表列和子类中的表名?

来自分类Dev

如何在VS Code中自定义注释字符?

来自分类Dev

如何在Emacs中定义整行注释语法?

来自分类Dev

如何在Groovy中为多个目标定义注释?

来自分类Dev

如何在Groovy中为多个目标定义注释?

来自分类Dev

动态查询:如何在 SQL-Server 中定义表名或其他字符串

来自分类Dev

如何在Scala中覆盖预定义功能?

来自分类Dev

如何在JavaScript中覆盖窗口和未定义?

来自分类Dev

如何在angular 2中覆盖指令定义

来自分类Dev

如何在自定义Joomla组件中覆盖分页?

来自分类Dev

如何在材料表中覆盖MuiPaper根样式

来自分类Dev

如何在React材质表中添加/覆盖Footer组件?

来自分类Dev

如何在div上创建覆盖而不在HTML中定义覆盖

来自分类Dev

如何在Rails中自定义类名的单数

来自分类Dev

jpa元模型如何获取表名

来自分类Dev

如何在Sublime Text中为React JSX定义注释字符?

来自分类Dev

如何在Visual Studio代码中自定义注释块字符?

来自分类Dev

Swift,如何在点击时从自定义注释中获取信息

来自分类Dev

如何在Swashbuckle中显示模型中使用的自定义注释?

来自分类Dev

如何在android studio中创建自定义的注释键盘快捷方式

来自分类Dev

如何在Visual Studio Code中自定义注释字符?

来自分类Dev

如何在Laravel 5.8中用新名称覆盖$ request数组中的文件名

来自分类Dev

如何在动态SQL查询中设置表名?

来自分类Dev

如何在PostgreSQL触发函数中获取表名?

来自分类Dev

如何在PostgreSQL中从RelOptInfo获取表名或ID?

来自分类Dev

如何在JDBI中动态绑定表名

Related 相关文章

  1. 1

    如何在CMake中覆盖宏定义

  2. 2

    如何在Rails中覆盖HABTM表

  3. 3

    SYMFONY自定义CONSTRAINT->将变量传递给自定义CONSTRAINT /绑定到表单字段的CONSTRAINT如何在注释中覆盖CONSTRAINT

  4. 4

    如何在SQLAlchemy中定义基类中的表列和子类中的表名?

  5. 5

    如何在VS Code中自定义注释字符?

  6. 6

    如何在Emacs中定义整行注释语法?

  7. 7

    如何在Groovy中为多个目标定义注释?

  8. 8

    如何在Groovy中为多个目标定义注释?

  9. 9

    动态查询:如何在 SQL-Server 中定义表名或其他字符串

  10. 10

    如何在Scala中覆盖预定义功能?

  11. 11

    如何在JavaScript中覆盖窗口和未定义?

  12. 12

    如何在angular 2中覆盖指令定义

  13. 13

    如何在自定义Joomla组件中覆盖分页?

  14. 14

    如何在材料表中覆盖MuiPaper根样式

  15. 15

    如何在React材质表中添加/覆盖Footer组件?

  16. 16

    如何在div上创建覆盖而不在HTML中定义覆盖

  17. 17

    如何在Rails中自定义类名的单数

  18. 18

    jpa元模型如何获取表名

  19. 19

    如何在Sublime Text中为React JSX定义注释字符?

  20. 20

    如何在Visual Studio代码中自定义注释块字符?

  21. 21

    Swift,如何在点击时从自定义注释中获取信息

  22. 22

    如何在Swashbuckle中显示模型中使用的自定义注释?

  23. 23

    如何在android studio中创建自定义的注释键盘快捷方式

  24. 24

    如何在Visual Studio Code中自定义注释字符?

  25. 25

    如何在Laravel 5.8中用新名称覆盖$ request数组中的文件名

  26. 26

    如何在动态SQL查询中设置表名?

  27. 27

    如何在PostgreSQL触发函数中获取表名?

  28. 28

    如何在PostgreSQL中从RelOptInfo获取表名或ID?

  29. 29

    如何在JDBI中动态绑定表名

热门标签

归档