我正在使用spring数据jpa来实现持久性.如果存在多个具有相同名称的实体,是否有一种方法可以将一个实体标记为默认值.类似@Primary注释的东西用于解决多个bean依赖问题
@Entity(name = "ORGANIZATION")
@Table(name = "ORGANIZATION")
public class DefaultOrganization {
***
}
@Entity(name = "ORGANIZATION")
@Table(name = "ORGANIZATION")
public class Organization {
***
}
Run Code Online (Sandbox Code Playgroud)
更新
让我说清楚一点.我正在使用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 {
***
}
Run Code Online (Sandbox Code Playgroud)
由于DefaultOrganization标有@PrimaryEntity,因此应该通过@EntityScan选择DefaultOrganization,而应拒绝组织.
注意: @PrimaryEntity是非JPA标准自定义注释,可由spring-boot @EntityScan处理