Axon - хранилище событий JPA для MySql

Я пытаюсь реализовать приложение Axon с использованием хранилища событий JPA и базы данных mysql. Hibernate автоматически генерирует все таблицы и пока работает нормально.

Мой вопрос: могу ли я заменить таблицу mysql hibernate_sequence на AUTO_INCREMENT столбцы в Mysql. Думаю, для этого мне нужно будет изменить исходный код Axon, так как я не могу найти другой настраиваемый способ изменить аннотацию @Id для события домена @Entity или других прав?

ОБНОВЛЕНИЕ

Хорошо, мне удалось это сделать, поместив новый файл в src\main\resources\META-INF\orm.xml со следующим кодом:

<?xml version="1.0" encoding="UTF-8" ?>
<entity-mappings xmlns="http://java.sun.com/xml/ns/persistence/orm"
                 xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
                 xsi:schemaLocation="http://java.sun.com/xml/ns/persistence/orm http://java.sun.com/xml/ns/persistence/orm_2_0.xsd"
                 version="2.0">

    <mapped-superclass class="org.axonframework.eventhandling.AbstractSequencedDomainEventEntry" access="FIELD">
        <attributes>
            <id name="globalIndex">
                <generated-value strategy="IDENTITY"/>
            </id>
        </attributes>
    </mapped-superclass>

    <entity class="org.axonframework.modelling.saga.repository.jpa.AssociationValueEntry" access="FIELD">
        <attributes>
            <id name="id">
                <generated-value strategy="IDENTITY"/>
            </id>
        </attributes>
    </entity>

</entity-mappings>

person Bojan Vukasovic    schedule 09.03.2019    source источник


Ответы (1)


Вы можете сделать эту настройку с помощью кода, это правда. Однако более просто указать файл orm.xml в вашем проекте, который для некоторых таблиц (я предполагаю, что таблица domain_event_entry в вашем сценарии) может настраивать определенные столбцы. Там вы сможете настроить генератор последовательности так, как хотите.

Надеюсь это поможет!

person Steven    schedule 11.03.2019