相信大家在web开发过程中一定遇到过一种情况,Class班级类一对多关联一个Student学生类,所以为了性能考虑,配置一个lazy-init=true,然后在前台页面需要访问懒加载数据时需要额外配置一个OpenSessionInViewFilter,但是可能并不知道这个过滤器到底做了什么,遇到Quartz定时中访问懒加载问题配置这个filter可没有用了,下面来讨论下,怎么解决这个问题。
@Entity
@Table(name = "clazz")
public class Clazz {
@Id
@GenericGenerator(name = "PKUUID", strategy = "uuid2")
@GeneratedValue(generator = "PKUUID")
@Column(length = 36)
private String id;
private String clazzName;
private String clazzNumber;
@OneToMany(fetch = FetchType.LAZY,mappedBy = "clazz",cascade = CascadeType.ALL)
private List<Student> students;
get/set...
}
Student类省略,我们现在数据手动插入一条记录,待会我们在定时器里面查询他。
定时任务代码如下:
public class DemoJob {
@Autowired
ClazzDao clazzDao;
public static final Logger logger = LoggerFactory.getLogger(DemoJob.class);
public DemoJob() {
System.out.println("DemoJob===&#