Запрос ревизий вложенного объекта с использованием spring-data-envers - PullRequest
0 голосов
/ 05 августа 2020

Я пытаюсь реализовать аудит сущностей в моем проекте Java Spring Boot, используя spring-data-envers . Все сущности создаются должным образом, но при выполнении запроса я наткнулся на кирпичную стену.

parentRepository.findRevisions(id).stream().map(Parent::getEntity).collect(Collectors.toList());

Во время этого выбора репозиторий должен получать информацию также от дочернего объекта, вместо этого я получаю unable to find <child object> with {id}.

Согласно моим экспериментам, categoryId ищется в таблице Category_Aud, а не в реальной таблице с желаемыми данными.

Фрагменты кода:

@Data
@Entity
@Audited
@NoArgsConstructor
public class Parent {

    @Id
    @GeneratedValue(strategy = GenerationType.IDENTITY)
    private Long id;

    @Enumerated(EnumType.STRING)
    private Status status;

    @Enumerated(EnumType.STRING)
    private Type requestType;

    private String fullName; 

    @ManyToOne
    @JoinColumn(name = "child_id")
    private Child child;
}
@Data
@Entity
@Audited
@NoArgsConstructor
public class Child {

    @Id
    @GeneratedValue(strategy = GenerationType.IDENTITY)
    private Long id;

    private String name;

    private String description;
}

Я расширил родительский элемент с помощью RevisionRepository

@Repository
public interface ParentRepository extends RevisionRepository<Parent, Long, Long>, JpaRepository<Parent, Long>

И аннотировал свой класс записи SpringBootApplication с помощью: @EnableJpaRepositories(repositoryFactoryBeanClass = EnversRevisionRepositoryFactoryBean.class)

Я не смог найти какое-либо объяснение этого до сих пор, как заставить parentRepository получить то, что мне нужно?

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