下面是我的视图vw_invoice_report
的实体
@Entity
@Table(name = "vw_invoice_report")
class Report implements Serializable {
private static final long serialVersionUID = 1L;
@Id
@Column(name = "id")
private Long id;
@Column(name = "sender_name")
private String sender;
@Column(name = "client_name")
private String client;
@Column(name = "submit_date")
@Temporal(TemporalType.TIMESTAMP)
private Date submitDate;
@Column(name = "invoice_num")
private String invoiceNum;
//getters
}
并且正在尝试实现findByClientAndLawfirmAndSubmitDateBetween
以使用client,sender, submitDate
字段查询视图
public interface ReportRepository extends PagingAndSortingRepository<Report, Long>{
public List<Report> findByClientAndLawfirmAndSubmitDateBetween(String client, String sender, Date start, Date stop, Pageable pageable)
}
当我尝试调用上述方法时出现以下错误
org.hibernate.QueryException: could not resolve property: client of: com.xyz.reports.Report
[select generatedAlias0 from com.xyz.reports.Report as generatedAlias0 where ( ( generatedAlias0.client=:param0 ) and ( generatedAlias0.sender=:param1 ) ) and ( generatedAlias0.submitDate between :param2 and :param3 )]; nested exception is java.lang.IllegalArgumentException: org.hibernate.QueryException: could not resolve property: client of: com.xyz.reports.Report [select generatedAlias0 from com.xyz.reports.Report as generatedAlias0 where ( ( generatedAlias0.client=:param0 ) and ( generatedAlias0.sender=:param1 ) ) and ( generatedAlias0.submitDate between :param2 and :param3 )] 34178348919273527
但是如果我用Query
注释对上面的查询进行注释,如下所示,则工作正常
@Query(value="SELECT id, sender_name, client_name, submit_date, invoice_num FROM vw_invoice_report WHERE client_name = ?1 AND sender_name = ?2 AND submit_date BETWEEN ?3 AND ?4 ORDER BY submit_date desc",
nativeQuery = true)`
反正有没有findByClientAndLawfirmAndSubmitDateBetween()
的@Query
工作>]
以下是我的视图vw_invoice_report @Entity @Table(name =“ vw_invoice_report”)类的实体报告实现了Serializable {private static final long serialVersionUID = 1L; @Id @ ...