【问题标题】:How to use spring Repository without @Id?如何在没有@Id的情况下使用spring Repository?
【发布时间】:2015-06-16 04:47:01
【问题描述】:

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

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

【问题讨论】:

  • 您的意思是您的实体根本没有 id 还是某种嵌入式结构?你能显示你的实体代码吗?
  • 如果您的数据库中的实体没有主键 (ID),那么您就会遇到更大的问题。
  • 你能修复它吗?能否请您更新答案。
  • @bpa.mdl 正如接受的答案所述,这根本不可能。

标签: java spring jpa spring-data


【解决方案1】:

或者,您可以为所有 POJO 实体扩展 AbstractPersistable&lt;Long&gt;

按照示例:-https://github.com/spring-projects/spring-data-examples/blob/master/jpa/example/src/main/java/example/springdata/jpa/simple/User.java

【讨论】:

  • 它将在表中创建一个Id列。
【解决方案2】:

JPA 要求每个实体都有一个 ID。所以不,不允许没有 ID 的实体。

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

来自JPA spec

您可能想详细了解当 DB 端没有 id from here (see 'No Primary Key') 时 JPA 如何处理案例。

【讨论】:

  • 使用所有列,因为如果任何列为空,则 id 在休眠中不起作用
猜你喜欢
  • 1970-01-01
  • 2020-12-23
  • 1970-01-01
  • 1970-01-01
  • 2013-09-16
  • 2016-09-20
  • 2015-02-21
  • 2011-01-31
  • 2021-04-25
相关资源
最近更新 更多