簡體   English   中英

在Spring Boot中使用CrudRepository檢索DiscriminatorColumn

[英]Using CrudRepository to retrieve a DiscriminatorColumn in Spring Boot

我目前正在使用Spring Boot進行項目。

我正在使用的表之一正在使用DiscriminatorColumn,如下所示:

@Entity
@Table(name = "document_summary", uniqueConstraints = @UniqueConstraint(columnNames={"document_name", "document_type"}))
@Inheritance(strategy = InheritanceType.SINGLE_TABLE)
@DiscriminatorColumn(name = "document_type", discriminatorType = DiscriminatorType.STRING)
public class DocumentSummary {
     ...
     //no document type field
     ...
}

如您所見,即使表上的列稱為“ document_type”,也未明確將其創建為單獨的字段。

通常,我只需要創建一個這樣的存儲庫即可從數據庫檢索文檔摘要:

public interface DocumentSummaryRepository extends CrudRepository<DocumentSummary, Long> {
    DocumentSummary findByDocumentType(String documentType);
}

在這種情況下,是否有一種方法基於列document_type來檢索“文檔摘要”數據?

謝謝。

我不認為這是這樣做的方法。

看一下本教程: https : //www.petrikainulainen.net/programming/spring-framework/spring-data-jpa-tutorial-part-two-crud/

通過兩種方式,您可以看到在這種情況下如何以及在哪一列調用。

此外,在有關錯誤的執行方式的部分中,您還將看到:

  1. 創建一個擴展Repository接口的基本接口,並將通用方法添加到該接口。
  2. 創建擴展我們基本接口的實際存儲庫接口。

嘗試在存儲庫界面中更改findBy方法:

public interface DocumentSummaryRepository extends CrudRepository<DocumentSummary, Long> {
    DocumentSummary findByDocument__type(String documentType);
}

在這里使用雙下划線,因為Spring將其視為保留字符: doc

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM