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

当存在两个或多个同名实体时,请选择默认实体-Spring Boot、Spring Data JPA,

濮阳霄
2023-03-14
@Entity(name = "ORGANIZATION")
@Table(name = "ORGANIZATION")
public class DefaultOrganization {
     ***
}

@Entity(name = "ORGANIZATION")
@Table(name = "ORGANIZATION")
public class Organization {
     ***
}

让我说清楚点。我使用spring-boot@entityscan注释来执行包扫描,如果在两个不同的包中发现了两个同名的实体,那么应该有一种方式,即只有一个实体被选中并注册,而另一个实体被拒绝。就实体名称而言,甚至我都知道没有两个实体可以有相同的名称。我是在spring-boot和spring-data-jpa的上下文中问这个问题的

@Entity(name = "ORGANIZATION")
@Table(name = "ORGANIZATION")
@PrimaryEntity
public class DefaultOrganization {
     ***
}

@Entity(name = "ORGANIZATION")
@Table(name = "ORGANIZATION")
public class Organization {
     ***
}

由于DefaultOrganization用@PrimaryEntity标记,因此应由@EntityScan选择DefaultOrganization而拒绝Organization。

注意:@PrimaryEntity是非JPA标准的自定义注释,可以由spring-boot@EntityScan处理

共有1个答案

岑明辉
2023-03-14

一个项目的两个不同实体不可能有重复的名称,即使这些实体位于两个不同的包中。

参考文献1

实体类名称

@Entity(name="MyName")
public class MyEntity {

}
 类似资料:
  • 假设我有2个实体类,User和post。 波纹管示例

  • 我已经试着解决这件事很长一段时间了,但我什么也没得到。我一直在试图保存一个实体,该实体拥有对另一个实体的引用。 用户通过填写表单创建一个place实体,然后按save保存该实体。它应该自动在“places”和“place\u url”表中创建新行。下面是我正在加载到应用程序中的SQL文件的链接:https://pastebin.com/x8Gvk7ub 母实体: 子实体: 控制器: Hiberna

  • 问题内容: 我有一个实体- 。由描述。 Hibernate为每个实体创建一个表,因此当我调用时,我的数据总是保存到该表中。 现在,我需要另一个表来存储相同类型的数据,并且只需要将我的实体保存到该表中。 数据结构 (类似这样): 使用这个 : 和结果,我应该在和 中。 由于系统限制,我无法将这两个对象放在一个表中。(即使创建额外的字段也是个坏主意)。 我可以不进行子类化吗?使用Programmati

  • Hibernate为每个实体创建一个表,因此当我调用时,我的数据总是保存到这个表中。 现在,我需要另一个表来存储相同类型的数据,并且我只需要将我的实体保存到该表中。 数据结构(类似于以下内容): 由于系统的限制,我不能将这两个对象放在一个表中。(即使创建额外字段也是坏主意)。 我可以在不进行子类化的情况下这样做吗?使用programmaticaly hibernate配置?

  • 我正在使用Entity Framework Core将对象图存储在数据库中。在构建图形的不同时间,我创建一个实体,将其存储到数据库中,然后释放上下文。但是,我遇到了一个问题,EFC试图插入一个实体,该实体在连接到新实体时已经插入。这最好用代码来解释。这是一段简短的代码重现(这是直线代码,但上下文的两种用法发生在代码中的不同时间和位置)。 在对,我得到以下异常: SqlException: 当ide

  • 当我试图用Springboot在数据库中保存一个实体时,出现了一种奇怪的行为。 使用调试器,我检查了我的列表仅包含一个订单。除了设置为的属性之外,此订单已完全实例化。 数据库为空,位于