Я пытаюсь заставить двунаправленную связь «многие ко многим» работать с Hibernate и Maven, но она всегда либо выдает org.hibernate.LazyInitializationException: не удалось инициализировать прокси — нет сеанса или ошибку Stackoverflow. Я уже попробовал @JSONIdentityInfo, в результате чего Maven автоматически добавил переменную «PK», которая нарушила в основном мой интерфейс, @JSONManagedReference и @JSONBackreference, что привело к полному игнорированию объекта, получившего обратную ссылку, @JSONIgnore, та же проблема с обратной ссылкой , @JsonView, который, казалось бы, ничего не изменил, и @JsonSerialize с собственным сериализатором, реализация которого также вызывает проблемы с внешний интерфейс. Я также попытался напрямую написать запрос в репозиторий, но это вызвало ту же проблему. Мои способности действительно исчерпаны, и я не знаю, что еще делать.
Узел
import com.fasterxml.jackson.annotation.JsonBackReference;
import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
import com.fasterxml.jackson.annotation.JsonInclude;
import com.fasterxml.jackson.annotation.JsonView;
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import de.sadgmbh.spring.angular.backenddemo.model.AbstractAuditingEntity;
import lombok.Getter;
import lombok.NoArgsConstructor;
import lombok.Setter;
import javax.persistence.*;
import javax.validation.constraints.NotNull;
import java.util.HashSet;
import java.util.Set;
@Getter
@Setter
@NoArgsConstructor
@JsonIgnoreProperties(ignoreUnknown = true)
@JsonInclude(JsonInclude.Include.NON_NULL)
@Entity
@Table(name = "knotenpunkte")
//@JsonSerialize(using = CustomKnotenpunktSerializer)
public class Knotenpunkt extends AbstractAuditingEntity {
@NotNull
@Column(length = 50, unique = true, nullable = false)
@JsonView(Views.Public.class)
private int knotennr;
@NotNull
@Column(length = 50, unique = true, nullable = false)
@JsonView(Views.Public.class)
private String strasse;
@NotNull
@JsonView(Views.Public.class)
private boolean codierung;
@NotNull
@JsonView(Views.Public.class)
private boolean bake;
@ManyToMany(fetch = FetchType.EAGER)
@JoinTable(
name = "knotenpunkt_linie",
joinColumns = {@JoinColumn(name = "knotenpunkt_id", referencedColumnName = "id")},
inverseJoinColumns = {@JoinColumn(name = "linie_id", referencedColumnName = "id")})
@JsonView(Views.Internal.class)
Set linienSet = new HashSet();
}
Линия
import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
import com.fasterxml.jackson.annotation.JsonInclude;
import com.fasterxml.jackson.annotation.JsonView;
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import de.sadgmbh.spring.angular.backenddemo.model.AbstractAuditingEntity;
import lombok.Getter;
import lombok.NoArgsConstructor;
import lombok.Setter;
import javax.persistence.*;
import javax.validation.constraints.NotNull;
import java.util.HashSet;
import java.util.Set;
@Getter
@Setter
@NoArgsConstructor
@JsonIgnoreProperties(ignoreUnknown = true)
@JsonInclude(JsonInclude.Include.NON_NULL)
@Entity
@Table(name = "linien")
//@JsonSerialize(using = CustomLineSerializer.class)
public class Linie extends AbstractAuditingEntity {
@NotNull
@Column(length = 50, unique = true, nullable = false)
@JsonView(Views.Public.class)
private String linienNR;
@ManyToMany( mappedBy = "linienSet")
@JsonView(Views.Internal.class)
private Set knotenpunktSet = new HashSet();
}
Интерфейсы, созданные Maven
export interface Knotenpunkt extends AbstractAuditingEntity {
id: number;
knotennr: number;
strasse: string;
codierung: boolean;
bake: boolean;
linienSet: Linie[];
}
export interface Linie extends AbstractAuditingEntity {
id: number;
linienNR: string;
knotenpunktSet: Knotenpunkt[];
}
export interface Views {
}
export interface Internal extends Public {
}
export interface Public {
}
export interface JsonSerializer extends JsonFormatVisitable {
unwrappingSerializer: boolean;
delegatee: JsonSerializer;
}
Подробнее здесь: https://stackoverflow.com/questions/653 ... on-writing
Как предотвратить бесконечную рекурсию или ошибку записи JSON в моих отношениях «многие-многие»? ⇐ JAVA
Программисты JAVA общаются здесь
1733766110
Anonymous
Я пытаюсь заставить двунаправленную связь «многие ко многим» работать с Hibernate и Maven, но она всегда либо выдает org.hibernate.LazyInitializationException: не удалось инициализировать прокси — нет сеанса или ошибку Stackoverflow. Я уже попробовал @JSONIdentityInfo, в результате чего Maven автоматически добавил переменную «PK», которая нарушила в основном мой интерфейс, @JSONManagedReference и @JSONBackreference, что привело к полному игнорированию объекта, получившего обратную ссылку, @JSONIgnore, та же проблема с обратной ссылкой , @JsonView, который, казалось бы, ничего не изменил, и @JsonSerialize с собственным сериализатором, реализация которого также вызывает проблемы с внешний интерфейс. Я также попытался напрямую написать запрос в репозиторий, но это вызвало ту же проблему. Мои способности действительно исчерпаны, и я не знаю, что еще делать.
[b]Узел[/b]
import com.fasterxml.jackson.annotation.JsonBackReference;
import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
import com.fasterxml.jackson.annotation.JsonInclude;
import com.fasterxml.jackson.annotation.JsonView;
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import de.sadgmbh.spring.angular.backenddemo.model.AbstractAuditingEntity;
import lombok.Getter;
import lombok.NoArgsConstructor;
import lombok.Setter;
import javax.persistence.*;
import javax.validation.constraints.NotNull;
import java.util.HashSet;
import java.util.Set;
@Getter
@Setter
@NoArgsConstructor
@JsonIgnoreProperties(ignoreUnknown = true)
@JsonInclude(JsonInclude.Include.NON_NULL)
@Entity
@Table(name = "knotenpunkte")
//@JsonSerialize(using = CustomKnotenpunktSerializer)
public class Knotenpunkt extends AbstractAuditingEntity {
@NotNull
@Column(length = 50, unique = true, nullable = false)
@JsonView(Views.Public.class)
private int knotennr;
@NotNull
@Column(length = 50, unique = true, nullable = false)
@JsonView(Views.Public.class)
private String strasse;
@NotNull
@JsonView(Views.Public.class)
private boolean codierung;
@NotNull
@JsonView(Views.Public.class)
private boolean bake;
@ManyToMany(fetch = FetchType.EAGER)
@JoinTable(
name = "knotenpunkt_linie",
joinColumns = {@JoinColumn(name = "knotenpunkt_id", referencedColumnName = "id")},
inverseJoinColumns = {@JoinColumn(name = "linie_id", referencedColumnName = "id")})
@JsonView(Views.Internal.class)
Set linienSet = new HashSet();
}
[b]Линия[/b]
import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
import com.fasterxml.jackson.annotation.JsonInclude;
import com.fasterxml.jackson.annotation.JsonView;
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import de.sadgmbh.spring.angular.backenddemo.model.AbstractAuditingEntity;
import lombok.Getter;
import lombok.NoArgsConstructor;
import lombok.Setter;
import javax.persistence.*;
import javax.validation.constraints.NotNull;
import java.util.HashSet;
import java.util.Set;
@Getter
@Setter
@NoArgsConstructor
@JsonIgnoreProperties(ignoreUnknown = true)
@JsonInclude(JsonInclude.Include.NON_NULL)
@Entity
@Table(name = "linien")
//@JsonSerialize(using = CustomLineSerializer.class)
public class Linie extends AbstractAuditingEntity {
@NotNull
@Column(length = 50, unique = true, nullable = false)
@JsonView(Views.Public.class)
private String linienNR;
@ManyToMany( mappedBy = "linienSet")
@JsonView(Views.Internal.class)
private Set knotenpunktSet = new HashSet();
}
[b]Интерфейсы, созданные Maven[/b]
export interface Knotenpunkt extends AbstractAuditingEntity {
id: number;
knotennr: number;
strasse: string;
codierung: boolean;
bake: boolean;
linienSet: Linie[];
}
export interface Linie extends AbstractAuditingEntity {
id: number;
linienNR: string;
knotenpunktSet: Knotenpunkt[];
}
export interface Views {
}
export interface Internal extends Public {
}
export interface Public {
}
export interface JsonSerializer extends JsonFormatVisitable {
unwrappingSerializer: boolean;
delegatee: JsonSerializer;
}
Подробнее здесь: [url]https://stackoverflow.com/questions/65337098/how-to-prevent-my-manytomany-relationship-from-infinte-recursion-or-json-writing[/url]
Ответить
1 сообщение
• Страница 1 из 1
Перейти
- Кемерово-IT
- ↳ Javascript
- ↳ C#
- ↳ JAVA
- ↳ Elasticsearch aggregation
- ↳ Python
- ↳ Php
- ↳ Android
- ↳ Html
- ↳ Jquery
- ↳ C++
- ↳ IOS
- ↳ CSS
- ↳ Excel
- ↳ Linux
- ↳ Apache
- ↳ MySql
- Детский мир
- Для души
- ↳ Музыкальные инструменты даром
- ↳ Печатная продукция даром
- Внешняя красота и здоровье
- ↳ Одежда и обувь для взрослых даром
- ↳ Товары для здоровья
- ↳ Физкультура и спорт
- Техника - даром!
- ↳ Автомобилистам
- ↳ Компьютерная техника
- ↳ Плиты: газовые и электрические
- ↳ Холодильники
- ↳ Стиральные машины
- ↳ Телевизоры
- ↳ Телефоны, смартфоны, плашеты
- ↳ Швейные машинки
- ↳ Прочая электроника и техника
- ↳ Фототехника
- Ремонт и интерьер
- ↳ Стройматериалы, инструмент
- ↳ Мебель и предметы интерьера даром
- ↳ Cантехника
- Другие темы
- ↳ Разное даром
- ↳ Давай меняться!
- ↳ Отдам\возьму за копеечку
- ↳ Работа и подработка в Кемерове
- ↳ Давай с тобой поговорим...
Мобильная версия