#spring-boot #hibernate #spring-data-jpa #one-to-many #hikaricp
Вопрос:
Я безуспешно пытался решить эту проблему в течение нескольких дней. Моя установка представляет собой приложение для весенней загрузки с HikariCP, Mysql, и я использую Hibernate/JPA для выполнения взаимосвязей между таблицами OneToMany. Когда я пытаюсь получить доступ к основному объекту, который имеет несколько взаимосвязей OneToMany, я вижу журнал регистрации наводнения (повторяется сотни раз) в консоли, и я не могу не найти способ отключить его.
Вот пример:
{"name":"Batch-Insert-Logger", "connection":183, "time":4, "success":true, "type":"Prepared", "batch":false, "querySize":1, "batchSize":0, "query":["select typek0_.event_id as event_id3_14_0_, typek0_.id as id1_14_0_, typek0_.id as id1_14_1_, typek0_.name as name2_14_1_ from type_k typek0_ where typek0_.event_id=?"], "params":[["76c20801-cb52-41c4-9ae5-3ded2693d211"]]}
Вот как я определил взаимосвязь «Один человек» (Сущность: Событие):
@OneToMany(targetEntity = TypeK.class, fetch = FetchType.EAGER, cascade = CascadeType.ALL) @JsonView(ObjectView.Public.class) @JsonIgnoreProperties({"event_id"}) @JoinColumn(name = "event_id", referencedColumnName = "id") private Setlt;TypeKgt; typeK = new HashSetlt;gt;();
и здесь начало определения внешней таблицы (сущность: typeK):
@Entity @Table(name = "type_k", uniqueConstraints={ @UniqueConstraint(columnNames = {"name", "event_id"})}) public class TypeK { @Id @GeneratedValue(strategy = GenerationType.IDENTITY) private Integer id; ...
Я проверил все настройки журналов в logback-spring.xml но все настроено на то, чтобы ПРЕДУПРЕДИТЬ, как
lt;logger name="com.zaxxer" level="WARN"/gt; lt;logger name="org.hibernate.validator" level="WARN"/gt; lt;logger name="org.hibernate" level="WARN"/gt; lt;logger name="org.hibernate.ejb.HibernatePersistence" level="OFF"/gt;
Я подозреваю, что это связано с фиктивной рекурсией из внешнего ключа EntityA, которая разрешается в EntityB и продолжается и продолжается. Есть какие-нибудь предложения?