当前位置: 首页 > 面试题库 >

如何在没有@Id的情况下使用spring仓库?

蒋英博
2023-03-14
问题内容

我在CrudRepository整个应用程序中都使用spring 。现在,我也想为一个@Entity没有的创建一个@Id。那有可能吗?

//probably ID is always required?
public interface Repository<T, ID extends Serializable>

问题答案:

JPA要求每个实体都有一个ID。因此,不可以,没有ID的实体是不允许的。

每个JPA实体都必须有一个主键。

从JPA规范

您可能想从这里阅读更多有关JPA如何处理数据库端没有ID的情况的信息(请参阅“无主键”)。



 类似资料:
  • 我有一个现有的spring 4项目(mvc、jdbc等),我试图将其移植到spring boot,但我做不到(许多依赖项存在问题,没有人能解释我是如何做到这一点的)。但现在我只想在现有项目中使用Spring数据JPA。这是pom的一个主要依赖项: 我使用EntityManagerFactorybean(在所有示例中都使用)完成了现有配置。数据库配置: 用于测试的Derby数据库。但主要数据库类型是

  • 问题内容: 我正在尝试设置spring xml配置,而不必创建进一步的。但是,即使我将数据库属性包括在 spring.xml: 我在这里想念什么? 问题答案: 在entityManagerFactory bean定义中指定“ packagesToScan”和“ persistenceUnitName”属性。 请注意,这适用于Spring版本> 3.1

  • 我们有一个应用程序,将部署在具有不同IP的服务器上。JNLP是在构建时生成的。因此,我们定义了没有代码库的JNLP: 然而,当第二次启动这个应用程序时(从第一次启动时创建的桌面图标),代码库被设置为本地文件系统,这是绝对无用的。我希望Java Webstart在第一次启动应用程序时使用实际的源地址设置代码库。这似乎不是真的。 我如何准备一个通用的JNLP,它可以在不同的服务器上使用而无需修改?

  • 我试图使用spring-data来取代我们当前使用POJO进行mongodb文档的做法,在本例中,我使用了一些字段,而不是使用字段作为实体的Id。 然后我创建一个查询: 然后我使用mongodb驱动程序更新文档。 这样,我只更新,而不需要考虑对我来说毫无意义的ObjectId。

  • 我正在玩grpc 有人成功使用进行生产吗?我们需要包括特使在内的所有依赖项吗?

  • 我看到的所有解决方案都需要使用。但是,我想在Eclipse之外的单个文件上使用CDT解析器。那有什么办法吗?