我一直在测试删除功能,JpaRepository
并有这个(简化的)接口:
@Repository public interface BrowserInfoDao extends JpaRepository{ @Transactional public Integer deleteByClientGuidAndBrowserGuid(String clientGuid, String browserGuid); @Transactional public Integer removeByClientGuidAndBrowserGuid(String clientGuid, String browserGuid); }
在我的测试中,我找不到removeBy和deleteBy方法之间的任何行为差异.所以我的问题是这些之间有什么区别?是否有最佳实践理由使用一个而不是另一个?
注意:我使用Hibernate作为实现.
他们是一样的 .选择哪一个取决于您的个人偏好.
有关详细信息,请参阅此内容.要通过源代码校对它们是相同的,请查看PartTree,它定义了以下正则表达式模式以匹配这些删除查询:
private static final String DELETE_PATTERN = "delete|remove"; private static final Pattern PREFIX_TEMPLATE = Pattern.compile( // "^(" + QUERY_PATTERN + "|" + COUNT_PATTERN + "|" + DELETE_PATTERN + ")((\\p{Lu}.*?))??By");