是否可以使用实体的唯一属性删除实体?
在Spring Data 1.4.3.RELEASE中,添加通过唯一属性查找的方法非常简单,但是我没有找到一种方法来删除它。
在下面的代码中,Spring自动处理findByAddress
,是否有类似删除的东西?
像void deleteByAddress(String hwAddress);
之类的东西,我已将其添加到TerminalRepository
,但它不起作用。
public Terminal {
@Id
@GeneratedValue(strategy=GenerationType.AUTO)
private long id;
@Column(unique=true)
private String hwAddress;
...
}
public interface TerminalRepository extends
CrudRepository<Terminal, Long> {
Terminal findByAddress(String hwAddress);
}
当然可以通过address
找到实体,然后使用delete(Terminal)
方法将找到的实体作为参数传递。但这在性能方面不会很好,因为它会对数据库数据库进行一次不必要的调用,即一次可以调用查找对象,另一次调用删除它
答案 0 :(得分:0)
我认为没有内置任何内容。您必须使用自定义方法支持来自行推送:
答案 1 :(得分:0)
我遇到了同样的问题。但是,当我使用@Modifying
在存储库接口中注释方法时,它开始工作。但是,我不知道它是如何开始工作的。谁能解释一下?