我正在使用Spring-Data-JPA并且具有1:n的关系。
@Entity
public class MyFirstEntity {
@Id
private long id;
private String paramA;
@ManyToOne
@JoinColumn(name="id")
private MySecondEntity paramB;
....
@Entity
public class MySecondEntity {
@Id
private long id;
private String paramA;
@OneToMany (fetch = FetchType.LAZY, mappedBy = "paramB")
@JoinColumn(name="id")
private Collection<MyFirstEntity> first;
....
现在我可以使用一些额外的方法定义接口,如here所述。
public interface firstEntityMethods extends CrudRepository<MyFirstEntity, Long> {
//Example #1
List<MyFirstEntity> findByParamA (String paramA);
//Example #2
List<MyFirstEntity> findByParamAAndParamB (String paramA, MySecondEntity paramB);
...
是否可以声明这样的方法来排除参数。像 findByParamAAndNotByParamB(String paramA,MySecondEntity paramB); ? 所以它应该找到所有匹配paramA的实体(例如#1),但不包括那些匹配paramB的实体 - &gt; (没有示例#2的列表的示例#1的列表)。
PS:上面的代码是您可以更好地理解问题的示例代码。如果有任何错误/错误输入,请忽略它们。