Я имею дело с проблемой, связанной с ленивыми загруженными объектами из базы данных.Как управлять ленивой загрузкой в Mapstruct?
Предположим, что у нас есть сущность ниже.
@Entity(name = "User")
@Table(name = "USERS")
public class User{
@Id
@GeneratedValue
private int id
@ManyToOne(fetch = FetchType.LAZY)
@JoinColumn(name="NOTES_ID")
private List<Note> notes;
}
И Dto будет
@Mapper
public interface UserDtoMapper{
/** the INSTACE HERE **/
User fromDto(UserDto dto);
UserDto toDto(User user);
}
Так, которые могли бы быть лучшим подходом для получения всех пользователей без иметь EJBException, потому что я подгружать их лени?
Извлечь все необходимые данные в одну и ту же транзакцию. Таким образом, исключений, связанных с ленивой загрузкой, не будет. –
Где (в каком прикладном уровне) вы выполняете сопоставление? Это должно произойти как часть транзакции в идеале, или вы указываете граф сущности, который гарантирует, что все отношения, которые будут отображаться, будут загружены. – Gunnar