java - 一对一弱实体映射 JPA

标签 java hibernate jpa

我有一个实体类

@Entity
Class Search
{ 
   @Id
   private Long SearchID;
   private String Type;

}

和另一个实体类(SearchResults,它是一个弱实体,其主键依赖于搜索类

@Entity

Class SearchResults

{
   @???
   private Long SearchID;
}

我应该使用什么注释将“搜索”实体类的“SearchID”分配为弱实体“SearchResults”中的主键

最佳答案

使用共享主键的 JPA 概念,您可以按如下方式映射您的关系:

您的主类(class):

@Entity
public class Search { 
   @Id
   private Long searchID;
   private String type;
}

具有单一属性的派生标识符

@Entity
public class SearchResults {
    @Id
    @OneToOne
    @JoinColumn(name = "SEARCHID")       
    private Search search;
}

具有共享映射的派生标识符

@Entity
public class SearchResults {
    @Id
    private Long searchID;

    @MapsId
    @OneToOne
    @JoinColumn(name = "SEARCHID")       
    private Search search;
}

完整文章在这里:http://vard-lokkur.blogspot.com.br/2014/05/onetoone-with-shared-primary-key.html

关于java - 一对一弱实体映射 JPA,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43576754/

相关文章:

java - Guice 绑定(bind)和 FactoryModuleBuilder

java - Hibernate一对多关系级联删除

java - 根据数据库验证 hibernate 映射文件的所有差异

java - 用于更新对象的 Spring REST API 方法不会检索现有的子对象

java - Hibernate 与 JPA

java - 如何使用 gradle 下载/使用已发布的工件

java - 如何使用 Hibernate 从 JSON 数据动态创建表

java - 构建条件 API 查询以避免 MultipleBagFetchException

jpa - @OneToOne 单向和双向

java - Ant工具工作问题