【问题标题】:how to save data using one to one mapping in jpa and hibernate when primary key was assigne manully手动分配主键时如何在jpa和休眠中使用一对一映射保存数据
【发布时间】:2012-01-11 11:52:42
【问题描述】:

我正在尝试将数据保存到两个表中,其中包含手动分配的两个表中的相同主键。 下面是我写的代码

这是简单的代码不是实际的代码,原始代码很好,格式很好。

@Entity 
@TABLE(bookDetails)
  class Book{
    @Id private Long bookId; // in mycase it is not generated value it assigned programtically
    private String name;
    @OnetoOne 
    @PrimaryKeyJoinColumn
    private BookOtherDetails bookOtherInfo;
  // more code  
}   

@Entity
@Table(bookOhterDetails)  
class BookOtherDetails{
    @Id
    private Long bookId;// same as bookId in Book
    private String authorName;
   // more details   
}

但问题是我无法在 bookOtherDetails 表中插入数据。如果我做错了什么,请指导我。

以后谢谢。

【问题讨论】:

  • 第二个实体的@Table 注释中有错字。 “bookOhterDetails”而不是“bookOtherDetails”。事实上,您的代码中还有几个拼写错误。我不相信这甚至编译。您收到什么错误消息?

标签: hibernate jpa


【解决方案1】:

您在 Book 上有一个 BookOtherDetails 类型的属性。您作为 OneToOne 提供的类是 BookOtherInfo 类型。

我认为您需要将 Book 上的引用类型更改为 BookOtherInfo。

【讨论】:

  • 我更改了原始帖子。仍然不适合我。感谢回复
  • 您也可以发布任何堆栈跟踪或保存时遇到的其他错误。
  • 我在同一个论坛看到一个相关的话题问了一些人。有人回答说onetoone annotation with primarykey annotation在jpa中有问题。
  • 编辑您的原始问题以包含其他详细信息。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-02-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多