我有一个有两个id的实体,如下所示:
public class Myset {
private Long id
private String secernId;
}
我定义了界面以便我可以使用findOne(Long id),但我也想使用findOne(String secernId),我该怎么办?这有可能吗?
public interface MyRepository extends CrudRepository<Myset, Long> {
}
答案 0 :(得分:0)
CrudRepository将findOne方法定义为:
T findOne(ID primaryKey);
您已将Long指定为扩展CrudRepository的第二个generig参数,这意味着扩展的findOne实际上就像
Myset findOne(Long primaryKey);
所以你不会从中获得findOne(String secernId)。
您可以在界面中定义一个新方法,如:
public Myset findBySecernId(String secernId);
或者,如果您真的希望将您的方法命名为findOne,则可以通过自定义存储库实现来实现它。但老实说,我认为这只是这个简单操作的开销。