java - 方法公共摘要的查询验证失败
问题描述
我希望你们都做得很好,
我遇到了一些问题,我无法找到如何修复它或如何修复它
如果我想进行查询,它可能是可能的,但我想尝试这种方式,如果不可能,请让我知道我正在使用JPARepository
public Posts findByIdAndCommonFieldActive(int id, boolean active);
我的 POST 实体类
@Entity
@Table(name="post")
public class Posts implements Serializable {
@Id
@GeneratedValue(strategy=GenerationType.IDENTITY)
private int id;
private String title;
private String description;
private String content;
@Embedded
private CommonField commonField;
@OneToMany(cascade=CascadeType.ALL, fetch=FetchType.LAZY, mappedBy="post")
private List<Comments> comments = new ArrayList<Comments>();
//getter and setter
}
我的普通领域课程
@Embeddable
public class CommonField {
private boolean isActive;
private Date createdDate;
private Date modifiedDate;
private int createdBy;
private int modifiedBy;
public CommonField() {
// TODO Auto-generated constructor stub
}
public CommonField(boolean isActive, Date createdDate, Date modifiedDate, int createdBy, int modifiedBy) {
super();
this.isActive = isActive;
this.createdDate = createdDate;
this.modifiedDate = modifiedDate;
this.createdBy = createdBy;
this.modifiedBy = modifiedBy;
}
/// Getter and Setter
}
错误我得到
Caused by: java.lang.IllegalArgumentException: Validation failed for query for method public abstract com.harkesh.model.Posts com.harkesh.repo.PostRepo.findByIdAndCommonFieldActive(int,boolean)!
at org.springframework.data.jpa.repository.query.SimpleJpaQuery.validateQuery(SimpleJpaQuery.java:93) ~[spring-data-jpa-2.1.4.RELEASE.jar:2.1.4.RELEASE]
at org.springframework.data.jpa.repository.query.SimpleJpaQuery.<init>(SimpleJpaQuery.java:63) ~[spring-data-jpa-2.1.4.RELEASE.jar:2.1.4.RELEASE]
at org.springframework.data.jpa.repository.query.JpaQueryFactory.fromMethodWithQueryString(JpaQueryFactory.java:76) ~[spring-data-jpa-2.1.4.RELEASE.jar:2.1.4.RELEASE]
at org.springframework.data.jpa.repository.query.JpaQueryFactory.fromQueryAnnotation(JpaQueryFactory.java:56) ~[spring-data-jpa-2.1.4.RELEASE.jar:2.1.4.RELEASE]
at org.springframework.data.jpa.repository.query.JpaQueryLookupStrategy$DeclaredQueryLookupStrategy.resolveQuery(JpaQueryLookupStrategy.java:139) ~[spring-data-jpa-2.1.4.RELEASE.jar:2.1.4.RELEASE]
at org.springframework.data.jpa.repository.query.JpaQueryLookupStrategy$CreateIfNotFoundQueryLookupStrategy.resolveQuery(JpaQueryLookupStrategy.java:206) ~[spring-data-jpa-2.1.4.RELEASE.jar:2.1.4.RELEASE]
at org.springframework.data.jpa.repository.query.JpaQueryLookupStrategy$AbstractQueryLookupStrategy.resolveQuery(JpaQueryLookupStrategy.java:79) ~[spring-data-jpa-2.1.4.RELEASE.jar:2.1.4.RELEASE]
at org.springframework.data.repository.core.support.RepositoryFactorySupport$QueryExecutorMethodInterceptor.lookupQuery(RepositoryFactorySupport.java:566) ~[spring-data-commons-2.1.4.RELEASE.jar:2.1.4.RELEASE]
at org.springframework.data.repository.core.support.RepositoryFactorySupport$QueryExecutorMethodInterceptor.lambda$mapMethodsToQuery$1(RepositoryFactorySupport.java:559) ~[spring-data-commons-2.1.4.RELEASE.jar:2.1.4.RELEASE]
at java.util.stream.ReferencePipeline$3$1.accept(ReferencePipeline.java:193) ~[na:1.8.0_192]
at java.util.Iterator.forEachRemaining(Iterator.java:116) ~[na:1.8.0_192]
at java.util.Collections$UnmodifiableCollection$1.forEachRemaining(Collections.java:1049) ~[na:1.8.0_192]
at java.util.Spliterators$IteratorSpliterator.forEachRemaining(Spliterators.java:1801) ~[na:1.8.0_192]
at java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:481) ~[na:1.8.0_192]
at java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:471) ~[na:1.8.0_192]
at java.util.stream.ReduceOps$ReduceOp.evaluateSequential(ReduceOps.java:708) ~[na:1.8.0_192]
at java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:234) ~[na:1.8.0_192]
at java.util.stream.ReferencePipeline.collect(ReferencePipeline.java:499) ~[na:1.8.0_192]
但无论是最好的方式,请让我知道谢谢
解决方案
改变
public Posts findByIdAndCommonFieldActive(int id, boolean active);
到
public Posts findByIdAndCommonFieldIsActive(int id, boolean isActive);
应该可以解决你的问题。
推荐阅读
- javascript - 如何在组件内添加相同的组件
- r - 使用 rvest 或 RSelenium 刮表
- pandas - pypi sas7bdat to_data_frame 对于大数据(5 GB)花费太长时间
- node.js - Discord.js - 创建附加权限的邀请链接
- swift - 初始化期间可编码的默认值
- spring-boot - Spring Boot Eureka - CSS 没有出现在 Kubernetes / Ingress 上
- javascript - 如何在蜘蛛模式下计算纬度 lng?
- cpu - 为什么 Sandy Bridge 微架构中的执行单元连接到调度程序和重新排序缓冲区?
- performance - IIS 托管的 Web 服务会比自托管服务花费更多的时间来响应吗?
- selenium - 使用 selenium 截取屏幕截图