当前位置: 首页 > 知识库问答 >
问题:

对于负责在文件系统中持久化数据的bean,我应该使用@repository Spring注释吗

弘伟彦
2023-03-14

我的应用程序中有三层:

  • REST接口(JBOSS RestEasy)
  • 服务层(Spring Services)
  • 持久层(Spring beans)

在持久层中,我将实现两个类(它们实现相同的接口):一个是memorystore,另一个是filesystemstore

共有1个答案

封烨伟
2023-03-14

javadoc类表示:

当与PersistenceExceptionTranslationPostProcessor一起使用时,[用@Respository]注释的类有资格进行Spring DataAccessException翻译。为了工具、方面等的目的,注释类还阐明了它在整个应用程序体系结构中的角色。

我认为,如果您需要特殊的异常翻译(来自JDBC、Hibernate或其他)或您自己的技术(但这意味着您必须扩展spring才能知道这一点),您必须使用@repository来注释您的类,否则,只需使用@component来注释即可。

 类似资料:
  • 如何使用h2database配置spring boot,以便在每次重新启动时重用数据库。 这是我申请表中唯一的一行。属性文件 spring.jpa.databaseorg.hibernate.dialect.方言

  • 我一直在写一些批处理文件,我偶然发现了这本用户指南,它提供了大量信息。它告诉我的一件事是,行不仅可以用注释,还可以用注释。上面写着: 批处理代码中的注释可以使用双冒号进行,这比使用REM命令更好,因为标签是在重定向符号之前处理的。

  • 由于请求的不同用法和注释,我一直很困惑

  • 我是Spring靴的初学者,不能解决问题。我有一个实体类(Customer)和一个REST存储库(CustomerRepository)。类包含一些我不想被REST存储库公开的敏感字段。因此,我使用@jsonIgnore注释对这些字段进行了注释,如下所示: 一切正常,我的REST API返回了所需的结果。但是,当我向API发出POST请求以插入新实体时,我会收到数据库错误:。 在POST请求中,密

  • 我对Spring注释和persist有一个误解。我使用的是Spring3.1,带有JPA和Hibernate。我认为persist意味着将实体添加到持久性上下文中(但在提交或刷新之前不要执行任何查询),而注释意味着用事务包装方法。 然而,在这个简短的例子中,当执行指针到达持久性时,它会失败并出现异常,因为name不能为null(db约束)。 如果我交换和,一切正常。然而,我不明白为什么反过来没有,

  • 我目前正在修补一个简单的HTTP资源。我的模型由多个“果实”的“树”组成。两者都继承自PanacheEntity。 水果 资源: 这是我通过Swagger发送的帖子请求 水果总是空的。检查postgres数据库会发现Fruit中的所有“tree_id”列都为NULL。我很确定这是一个初学者的问题,但是在检查了多个示例之后,我就是找不到我的代码有什么问题。