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

JPA OneToOne单向映射

颜高格
2023-03-14

我有2个实体:Field和ViewOptions

省略与问题无关的字段和方法

CREATE TABLE FIELD (
  ID                   INT          NOT NULL AUTO_INCREMENT,
  PRIMARY KEY (ID),
);

CREATE TABLE VIEW_OPTIONS (
  ID                INT         NOT NULL AUTO_INCREMENT,
  FIELD_ID INT         NOT NULL,  
  PRIMARY KEY (ID),
  INDEX (FIELD_ID ASC),
  CONSTRAINT
  FOREIGN KEY (FIELD_ID)
  REFERENCES FIELD (ID)
    ON DELETE NO ACTION
    ON UPDATE NO ACTION);
@Table(name = "FIELD")
@Entity
public class Field {
    @OneToOne(mappedBy ="field")
     ViewOptions viewOptions;

@Table(name = "VIEW_OPTIONS")
@Entity
public class ViewOptions  {
    @OneToOne
    @JoinColumn(name = "FIELD_ID")
    Field field;
 @OneToOne
 @JoinColumn(name = "FIELD_ID")
 ViewOptions viewOptions;

共有1个答案

严阳成
2023-03-14

不,不是这样的。如果您希望FIELD对象是关系的所有者,那么FIELD表必须有一列用于VIEW_OPTIONS ID。

 类似资料:
  • 这些类映射不能用于双向映射。所以,我使用了两个不同的映射。但是使用两个不同的具有双向映射的类映射使上述方法都不起作用。我正在寻找一种方法来使用一个classmap只用于单向映射,这样我就可以使用上面的两个。 任何帮助都将不胜感激。谢了。

  • 我对冬眠学习还不熟悉,所以研究冬眠学习中使用的关系。我所了解的是-对于带有外键的一域单向关系映射,连接列将位于目标实体中(在我的示例中为Review类)。我不需要让它双向运行。 但是在实现它的同时,我得到了以下错误: OneToMany-单向-示例3 请帮帮忙!!!

  • 我试图在Hibernate中的两个表之间创建一对一的单向主键关系。我使用xml Maaping,下面是我的java POJO类和它们各自的。hbm文件。 储物柜POJO类 locker.hbm.xml 下面是我用来保存student和locker对象的主类。

  • 我有两个表,模式如下: 表1 table1_id(pk)(整数) 姓名 表2 table2_id(pk)(字符串) table1_id(pk)(整数) 姓名 我的代码看起来像这样 现在当我查询:: 我得到以下错误: 似乎出现了一些不匹配。它似乎使用字符串“表2_id”来查询表1,而它应该使用“表1_id” 好心帮忙!

  • 下面的例子中,我有一个单独的域层和一个单独的持久层。我使用Mapstruct进行映射,当从域映射到实体或从实体映射到域时,会出现堆栈溢出,因为双向引用总是被调用- 用于映射的类非常基本

  • 我有两张桌子。后 和喜欢 在这些对象之间进行hibernate注释映射,以便在类似于Post bean的。。。。 就像豆子一样 问题 该关联是否由Post{@OneToOne}和like{@ManyToOne}正确? 获取类型是Lazy,但仍然得到依赖循环。为什么? 尝试 要删除依赖关系循环,我尝试了 {@xmltransive} {@JsonIgnore} {@JsonManagedRefere