我目前正在使用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?
检索文档摘要数据感谢。
答案 0 :(得分:1)
我认为这不是这样做的方法。
通过这两种方式,您可以看到在此方案中要调用的列和列。
此外,在关于错误做法的部分中,您还会看到:
答案 1 :(得分:0)
尝试更改存储库界面中的findBy
方法:
public interface DocumentSummaryRepository extends CrudRepository<DocumentSummary, Long> {
DocumentSummary findByDocument__type(String documentType);
}
在这里使用双下划线,因为Spring将其视为保留字符:doc