У меня есть Java Class X, который на самом деле является сущностью, подключенной к Spring Data JPA.Он имеет аннотацию: @Entity (javax.persistence.Entity)
В последнее время мы добавили столбец / член к этому классу, и это стало причиной того, что этот класс извлекается из базы данных с помощью Spring DataJPA (яне совсем уверен, как это назвать), я получаю известную ошибку:
Исключение: слишком много таблиц;MariaDB может использовать только 61 таблицу в объединении - не удалось извлечь ResultSet
Мне не нужно так много объединений, я просто понял, что JPA создает много объединений, чтобы быть на более безопасной стороне.
Мой вопрос: как мне минимизировать мой класс, чтобы сделать так, чтобы было меньше соединений?
Я просмотрел членов моего класса X,
и нашелбыло 25 полей, которые подключаются к другим «таблицам класса-сущности».
Некоторые из них связаны с OneToMany, а некоторые с ManyToOne.
Так что это не 61.
Я заметилчто вышеупомянутая ошибка была вызвана при попытке извлечь другой класс сущности Y, что два ее члена имеют тип X.
Я попытался свернуть один из членов класса сущности X, но это неhelp.
Итак, еще один мой вопрос: как JPA создает автоматически сгенерированный запрос (как объяснено здесь )?Понимание этого сделает для меня намного яснее и проще избежать этой ошибки, устранить ошибку, если она проявляется, и, что более важно, - организовать организации моего класса более эффективно.
Спасибо!