在我的spring数据项目中,有一个实体如下所示:
public class Employee {
@Id
@GeneratedValue(strategy= GenerationType.IDENTITY)
@Column(name="id")
private Integer id;
@Column(name="category")
private Category category;
@ManyToOne(fetch = FetchType.LAZY)
@JoinColumn(name="element_id")
private Department department;
@ManyToOne(fetch = FetchType.LAZY)
@JoinColumn(name="agency_id")
private Agency agency;
public Employee() {}
// routine getters and setters
}
在我的employeerepository中,我发现我可以派生一个方法findeEmployeeById(),它的工作方式似乎与通常的findbyid()完全相同(但我不确定)。有人能解释一下这两种方法的区别吗?
Optional<Employee> findEmployeeById (Integer id);
与
Optional<Employee> findById (Integer id);
我“发现”这是偶然通过自动完成在我身边(intellij)。
1条答案
按热度按时间oxalkeyp1#
不同的是
findEmployeeById()
按指定的字段搜索employeeid
,findById
按注解为的字段搜索@Id
忽略实体id字段的名称。在你的情况下-和其他许多人一样-问题是
@Id
字段恰好被命名为id
所以结果是一样的。