Переопределить только JPA Генератор таблиц сущности с помощью orm.xml (Hibernate) - PullRequest
0 голосов
/ 01 ноября 2018

У меня есть сущность JPA следующим образом:

public class Host {
    @Id
    @TableGenerator(name = "Host.id", schema = "Schema", table = "SEQUENCE", pkColumnName = "SEQ_NAME", valueColumnName = "SEQ_COUNT", pkColumnValue = "Host.id")
    @GeneratedValue(generator = "Host.id", strategy = GenerationType.TABLE)
    protected Long id;

    @NotNull
    @Column(length = 64, nullable = false)
    protected String name;

    @Size(max = 64)
    @Column(length = 64)
    protected String hardwareType;

    @Size(max = 65535)
    @Column(length = 65535)
    protected String resourceDescription;
}

Как переопределить Генератор таблиц (без использования специфичной для Hibernate @GenericGenerator аннотации)?

В настоящее время у меня есть решение, которое определяет <hibernate-mapping> для сущности в файле orm.xml:

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE hibernate-mapping PUBLIC
        "-//Hibernate/Hibernate Mapping DTD 3.0//EN"
        "http://www.hibernate.org/dtd/hibernate-mapping-3.0.dtd">

<hibernate-mapping>
    <class name="com.x.y.datamodel.config.equipment.Host" schema="Schema">
        <id name="id" column="id">
            <generator class="com.x.y.customtablegenerator.CustomTableGenerator"/>
        </id>
        <property name="name" column="name"></property>
        <property name="hardwareType" column="hardwareType"></property>
        ...
    </class>
</hibernate-mapping>

Однако для этого необходимо добавить <property> для каждого свойства, определенного в сущности.

Есть ли способ переопределить только Генератор без необходимости дважды указывать все свойства объекта?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...