我正在处理与数据库中的延迟加载对象相关的问题。
假设我们有以下实体。
@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;
}
Run Code Online (Sandbox Code Playgroud)
而 Dto 将是
@Mapper
public interface UserDtoMapper{
/** the INSTACE HERE **/
User fromDto(UserDto dto);
UserDto toDto(User user);
}
Run Code Online (Sandbox Code Playgroud)
那么哪个可能是获取所有用户而没有 EJBException 的最佳方法,因为我正在获取他们懒惰?
编辑:解决方案
假设您有以下数据模型
@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;
}
Run Code Online (Sandbox Code Playgroud)
addresses但因为延迟加载(通过休眠或任何其他框架)最终会出现异常。此外,您可以忽略addressesfrom 被映射,如@Mehmet …