получать org.hibernate.LazyInitializationException: не удалось инициализировать прокси - не сессии , когда я называю findByUserEmail (String электронной почты)LazyInitializationException при использовании присоединиться CrudRepository
Сервис класса (где я звоню эта функция) отмечен как @Transactional
Repository
@Repository
public interface UserImagesRepository extends CrudRepository<User_images, Integer> {
List<User_images> findByUserEmail(String email);
}
пользователя
@Entity
@Table(name = "users")
@NamedQuery(name = "User.findAll", query = "SELECT u FROM User u")
public class User implements Serializable {
@Id
@GeneratedValue(strategy = GenerationType.AUTO)
private int id;
private String email;
@OneToMany(fetch = FetchType.LAZY, mappedBy = "user")
private Set<User_images> images = new HashSet<User_images>(0);
//getters and setters
}
User_images
@Entity
@Table(name = "user_images")
public class User_images implements Serializable {
@Id
@GeneratedValue(strategy = GenerationType.AUTO)
private int id;
@ManyToOne(fetch = FetchType.LAZY)
@JoinColumn(name = "userId")
private User user;
// getters and setters
}
___UPDATE___
UserImageRepository
имеет no, запросы автоматически генерируются из имени метода напрямую. docs
Я не хочу использовать нетерпеливую загрузку как свою плохую практику.
Можете ли вы поделиться внедрением метода findByUserEmail (String email)? – Manish
FetchType.Lazy означает, что выборка при необходимости, поэтому, когда вы вызываете 'findByUserEmail (String email)', если в этом fuction вы извлекаете некоторую вещь, связанную с другой таблицей после вызова метода службы, это приведет к исключению LazyInitailzation как сеансу закрывается. Заменяя с помощью fetch = FetchType.Eager все места, он должен работать. 1.http: //javarevisited.blogspot.in/2014/04/orghibernatelazyinitializationException-Could-not-initialize-proxy-no-session-hibernate-java.html 2.http: // uaihebert.com/four-solutions-to-the-lazyinitializationexception/ –
Является ли исключение в методе 'findByUserEmail'? Возможно, ваш стек поможет нам или даже реальный код в этом методе. – DuncanKinnear