Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/hibernate/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在Hibernate中如何根据我的需求建立两个表的关系_Hibernate - Fatal编程技术网

在Hibernate中如何根据我的需求建立两个表的关系

在Hibernate中如何根据我的需求建立两个表的关系,hibernate,Hibernate,我在Hibernate中有类别和产品以及两个单独的实体 类别可以是手机、笔记本电脑 产品可能是, 苹果iphone7,三星手机,属于手机类 戴尔insprion、mac book pro属于笔记本电脑类别 现在,手机上出现了一款新产品(Lenovo vibe k5),我将其添加到产品表中(我将通过类别作为有效负载的一部分)。产品需要添加到产品表中,而类别不应添加到类别表中,因为该类别已经存在,但如果该类别是新类别,则需要将其保存在表中 有人能告诉我这两张桌子有什么关系吗 我正在尝试OneToOn

我在Hibernate中有类别和产品以及两个单独的实体

类别可以是手机、笔记本电脑

产品可能是,

苹果iphone7,三星手机,属于手机类

戴尔insprion、mac book pro属于笔记本电脑类别

现在,手机上出现了一款新产品(Lenovo vibe k5),我将其添加到产品表中(我将通过类别作为有效负载的一部分)。产品需要添加到产品表中,而类别不应添加到类别表中,因为该类别已经存在,但如果该类别是新类别,则需要将其保存在表中

有人能告诉我这两张桌子有什么关系吗

我正在尝试OneToOne关系,但我得到一个错误,表示需要保存类别(我不想保存类别,因为它已经存在于表中)

我也试过了,但没有关系,我面临着连接两张桌子的问题


想知道,一个普通的电子商务应用程序是如何开发的?我遗漏了什么?

OneToOne关系意味着每个产品都有唯一的类别,每个类别也都有唯一的产品。那可能不是你真正想要的

IMHO您需要定义产品和类别之间的
@ManyToOne
关系,因为一个类别可以与多个产品关联

关系应该按产品实体映射(这样产品表将包含类别的外键)

我建议您阅读一些关于Hibernate映射的文章或阅读一些教程,例如:


如果在关系上正确设置了cascadings,您也不需要显式保存新类别。

您可能缺少一些不同的内容,但您没有发布任何代码,也没有任何明确的问题,因此很难帮助修复它。