我有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;
不,不是这样的。如果您希望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