есть ли способ получить значения вычисляемого столбца с помощью 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 с остальными столбцами в моем представлении усов.

0 ответов

Другие вопросы по тегам