내 문제는 내가 LazyInitializationException을 얻고 있다는 것입니다.LazyInitializationException이 프록시를 초기화 할 수 없습니다 - 아니요 세션
org.hibernate.LazyInitializationException: could not initialize proxy - no Session
at org.hibernate.proxy.AbstractLazyInitializer.initialize(AbstractLazyInitializer.java:148) ~[hibernate-core-5.0.11.Final.jar:5.0.11.Final]
at org.hibernate.proxy.AbstractLazyInitializer.getImplementation(AbstractLazyInitializer.java:266) ~[hibernate-core-5.0.11.Final.jar:5.0.11.Final]
at org.hibernate.proxy.pojo.javassist.JavassistLazyInitializer.invoke(JavassistLazyInitializer.java:73) ~[hibernate-core-5.0.11.Final.jar:5.0.11.Final]
at sk.kristian.dienes.eshop.entity.SubCategory_$$_jvsta89_5.hashCode(SubCategory_$$_jvsta89_5.java) ~[main/:na]
at sk.kristian.dienes.eshop.entity.Product.hashCode(Product.java:18) ~[main/:na]
은 내가 HttpSession을 사용하고 하나 개의 클래스
public class Product implements Serializable{
@Id
@Column(name = "id")
private Long id;
@ManyToOne(fetch = FetchType.LAZY)
@JoinColumn(name = "id_category")
private Category category;
@ManyToOne(fetch = FetchType.LAZY)
@JoinColumn(name = "id_sub_category")
private SubCategory subCategory;
}
@Entity
@Data
public class SubCategory implements Serializable {
@OneToMany(mappedBy = "subCategory", cascade = CascadeType.ALL,fetch = FetchType.EAGER)
private List<Product> products;
}
@Entity
@Data
public class Category implements Serializable {
@OneToMany(mappedBy = "category", cascade = CascadeType.ALL, fetch = FetchType.EAGER)
private List<Product> products;}
두 @ManyToOne 관계를 가지고있다. 이 속성을 추가하려고 시도했지만 spring.jpa.properties.hibernate.enable_lazy_load_no_trans=true
하지만 도움이되지 않았습니다. 나는 해결책이 있는지 알고 싶다. 또한 서비스에서 Transactional anotation을 사용하려고했습니다.
당신이 코드를 게시 할 수 EntityManager의 의
em.merge(detachedObject)
확인 상태처럼 EntityManager의 엔터티를 다시 연결해야합니다. 적어도 스택 추적을 완료하십시오. –