【发布时间】:2017-04-19 01:06:54
【问题描述】:
我有一个 spring boot 项目,我使用 spring JPA。我有这个模型Receipt,它有一个列TransactionDate,它的数据库列名称是transaction_date。我正在调用findAll(Predicate predicate, Pageable pageable) 以获取所需的数据页面。
当我在我的 ReceiptService 中使用 BooleanBuilder 创建我的谓词并使用 PageRequest 传递它时,它工作得很好:
org.springframework.data.mapping.PropertyReferenceException: No property transaction found for type Receipt!
这就是我创建 PageRequest 的方式
org.springframework.data.domain.Pageable pageable = new PageRequest(
0,
10,
Direction.DESC,
"transaction_date");
这就是我在调试模式下查看页面时的样子
Page request [number: 0, size 10, sort: transaction_date: DESC]
但从异常看来,它似乎是从 _ 中删除它的
这是我的存储库函数:(由于条件来自可能有一些其他字段为空或有值的搜索框,我意识到使用谓词很容易做到)
public Page<Receipt> findAll(Predicate predicate, org.springframework.data.domain.Pageable pageable);
这里是收据实体
@Entity
public class Receipt extends Base {
@Column(name="email")
private String Email;
@Column(name="bsid")
private String Bsid;
@Column(name="snap_shot")
private String SnapShot;
@Column(name="transaction_date")
private Date TransactionDate;
@Column(name="reference_number")
private String ReferenceNumber;
@Column(name="total_amount")
private Double TotalAmount;
@Column(name="submitted_by_user")
private boolean SubmittedByUser;
@Column(name="approval_date")
private Date ApprovalDate;
@ManyToOne
@JoinColumn(name="user_id")
private User User;
@ManyToOne
@JoinColumn(name="store_id")
private Store Store;
@Column(name="pending")
private boolean Pending;
@Column(name="declined")
private boolean Declined;
@Column(name="approved")
private boolean Approved;
public String getEmail() {
return Email;
}
public void setEmail(String email) {
Email = email.trim();
}
public String getBsid() {
return Bsid;
}
public void setBsid(String bsid) {
Bsid = bsid.trim();
}
public String getSnapShot() {
return SnapShot;
}
public void setSnapShot(String snapShot) {
SnapShot = snapShot.trim();
}
public Store getStore() {
return Store;
}
public void setStore(Store store) {
Store = store;
}
public Date getTransactionDate() {
return TransactionDate;
}
public void setTransactionDate(Date transactionDate) {
TransactionDate = transactionDate;
}
public String getReferenceNumber() {
return ReferenceNumber;
}
public void setReferenceNumber(String referenceNumber) {
ReferenceNumber = referenceNumber.trim();
}
public Double getTotalAmount() {
return TotalAmount;
}
public void setTotalAmount(Double totalAmount) {
TotalAmount = totalAmount;
}
public boolean isSubmittedByUser() {
return SubmittedByUser;
}
public void setSubmittedByUser(boolean submittedByUser) {
SubmittedByUser = submittedByUser;
}
public User getUser() {
return User;
}
public void setUser(User user) {
User = user;
}
public boolean isPending() {
return Pending;
}
public void setPending(boolean pending) {
Pending = pending;
}
public boolean isDeclined() {
return Declined;
}
public void setDeclined(boolean declined) {
Declined = declined;
}
public boolean isApproved() {
return Approved;
}
public void setApproved(boolean approved) {
Approved = approved;
}
public Date getApprovalDate() {
return ApprovalDate;
}
public void setApprovalDate(Date approvalDate) {
ApprovalDate = approvalDate;
}
}
【问题讨论】:
-
如果您在分页中使用字段名称“TransactionDate”会发生什么?
-
@pDer666 然后它说
org.springframework.data.mapping.PropertyReferenceException: No property transactionDate found for type Receipt!
标签: java spring hibernate spring-mvc spring-data-jpa