java - 在 Spring Boot 中使用 CrudRepository 检索 DiscriminatorColumn

标签 java spring hibernate 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 接口(interface)的基本接口(interface)并 将常用方法添加到该接口(interface)。
  2. 创建扩展我们的基本接口(interface)的实际存储库接口(interface)。

关于java - 在 Spring Boot 中使用 CrudRepository 检索 DiscriminatorColumn,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43900909/

相关文章:

java - Spring @Transactional 方法中没有事务启动

java - Geronimo 下的 JPA 2 和 Tomcat

java - 如何在 JTextArea 中为文本生成 html?

jquery - 插入数据库文本字段,在 Struts 2 中分隔值

java - App Engine channel API 连接和断开

java - NoSuchBeanDefinitionException : No qualifying bean of type "XInterceptor"

java - Spring boot 不提供 src/main/resources/public 目录中的某些图像

java - 基于 Spring 注解的表单验证

java - 在 hibernate 中从 session.createQuery 获取超过 1 个对象

java - 没有@RequestMapping的单个Spring mvc 4 Controller 返回从我的html View 中剥离css