java - 如何使用 xml 配置而不是 JPA 注释来 @AttributeOverride 列名

标签 java hibernate

我想使用 xml 覆盖子类中的列名称。 我知道这可以使用 @AttributeOverride JPA 注释来完成,但想使用 XML 配置来实现相同的目的?

最佳答案

您可以使用嵌入元素和属性覆盖元素。

参见Chapter 3. Overriding metadata through XML/3.1.3. Property level metadata .

本文档的示例:

<attributes>
    <id name="id">
        <column name="fld_id"/>
        <generated-value generator="generator" strategy="SEQUENCE"/>
        <temporal>DATE</temporal>
        <sequence-generator name="generator" sequence-name="seq"/>
    </id>
    <version name="version"/>
    <embedded name="embeddedObject">
        <attribute-override name"subproperty">
            <column name="my_column"/>
        </attribute-override>
    </embedded>
    <basic name="status" optional="false">
        <enumerated>STRING</enumerated>
    </basic>
    <basic name="serial" optional="true">
        <column name="serialbytes"/>
        <lob/>
    </basic>
    <basic name="terminusTime" fetch="LAZY">
        <temporal>TIMESTAMP</temporal>
    </basic>
</attributes>

关于java - 如何使用 xml 配置而不是 JPA 注释来 @AttributeOverride 列名,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5338825/

相关文章:

java - 当公共(public)代码有多个不兼容的返回类型时分解公共(public)代码

java - 库中的 Hibernate 配置

java - JPA Hibernate 在@ElementCollection 上选择不同的并进行比较

java - "Different objects with the same identifiers"错误

java - Hibernate 进行正确的数据库查询但返回空实体

java - 基本 Controller ,设置私有(private)成员变量,这安全吗?

java - 在java中保留文件扩展名的同时重命名文件

java - Hibernate 模板翻译

java - native 和增量 id 生成器类型之间的区别

java - 在spring web mvc中创建并执行.bat文件