есть ли способ получить значения вычисляемого столбца с помощью JPA / Hibernate с mySQL?
Я работаю над проектом, так как изучаю Spring Boot с JPA,Hibernate с усами как для шаблонов. Мне удалось создать представление с одним вычисляемым столбцом, который вычисляет оставшиеся дни от issueDate и expiryDate. представление работает нормально, и я могу отображать все столбцы, кроме вычисляемого столбца. Мне нужна помощь, чтобы понять, как это сделать
Мой класс сущности
package com.demgo.demgoerp.model;
import org.hibernate.annotations.Formula;
import org.hibernate.annotations.GenericGenerator;
import javax.persistence.*;
@Entity
public class DocumentStorage
{
@Id
@GeneratedValue(strategy = GenerationType.AUTO, generator = "native")
@GenericGenerator(name = "native", strategy = "native")
// @Column(name = "id", updatable = false, nullable = false)
private Long documentID;
private String documentTitle;
private String documentLocation;
private String uploadDate;
private String issueDate;
private String expiryDate;
/* @Formula(value = "select CONCAT(documentLocation,documentTitle) from document_storage")
private String myColumn;*/
public DocumentStorage()
{
super();
}
public DocumentStorage(String documentTitle, String documentLocation, String uploadDate, String issueDate, String expiryDate)
{
super();
this.documentTitle = documentTitle;
this.documentLocation = documentLocation;
this.uploadDate = uploadDate;
this.issueDate = issueDate;
this.expiryDate = expiryDate;
}
public Long getDocumentID()
{
return documentID;
}
public void setDocumentID(Long documentID)
{
this.documentID = documentID;
}
public String getDocumentTitle()
{
return documentTitle;
}
public void setDocumentTitle(String documentTitle)
{
this.documentTitle = documentTitle;
}
public String getDocumentLocation()
{
return documentLocation;
}
public void setDocumentLocation(String documentLocation)
{
this.documentLocation = documentLocation;
}
public String getUploadDate()
{
return uploadDate;
}
public void setUploadDate(String uploadDate)
{
this.uploadDate = uploadDate;
}
public String getIssueDate()
{
return issueDate;
}
public void setIssueDate(String issueDate)
{
this.issueDate = issueDate;
}
public String getExpiryDate()
{
return expiryDate;
}
public void setExpiryDate(String expiryDate)
{
this.expiryDate = expiryDate;
}
}
мое репо
package com.demgo.demgoerp.dao;
import com.demgo.demgoerp.model.DocumentStorage;
import org.springframework.data.jpa.repository.JpaRepository;
import org.springframework.data.jpa.repository.Query;
import org.springframework.stereotype.Repository;
import java.util.List;
@Repository
public interface DocumentRepo extends JpaRepository<DocumentStorage, Long>
{
@Query(value = "select * from ShowAllDocuments", nativeQuery = true)
List<DocumentStorage> findAllDocuments();
@Query(nativeQuery = true, value = "select * from document_storage")
public List<DocumentStorage> getAllDocs();
}
Моя база данных ПРОСМОТР
create view ShowAllDocuments
as
SELECT
documentid,
document_location,
document_title,
upload_date,
issue_date,
expiry_date,
datediff(expiry_date,issue_date) as days_remaining
FROM document_storage;
Теперь я просто хочу иметь возможность перечислить этот столбец days_remaining с остальными столбцами в моем представлении усов.