ManyToOne凭空多了很多空记录,@OrderColumn的问题

今天做一个ManyToOne的查询,Many端数据库里只有11条记录,但是查出来却显示有171条记录!而且前160条都是null,这是怎么回事?

@OneToMany(cascade = CascadeType.ALL,fetch=FetchType.EAGER,mappedBy="notice")
    @OrderColumn(name = "ID")
	public List<File> getFiles() {
		return files;
	}


可是数据库里只有11条记录,怎么解释?

ManyToOne凭空多了很多空记录,@OrderColumn的问题_第1张图片

折腾了半天,也没找出原因。

第二天早上,整理一下思路,再观察数据库,发现ID排到了171,正好和查出来的记录数相同,都是171,那么是不是注解的ID问题呢?

观察代码,发现有一个“ @OrderColumn(name = "ID") ” ,于是把这句删了,结果就正常了!


原来@OrderColumn注解会根据指定的列进行排序,哪怕只有一条记录,但如果这条记录的ID是100,那也会查出100个对象来,只不过前面99个都是null。




你可能感兴趣的:(ManyToOne凭空多了很多空记录,@OrderColumn的问题)