有没有办法到地图一个一对一的一个where?
-
19-08-2019 - |
题
请原谅我的无知的主题,因为我比较新的休眠/原则才能享受它的全部好处,但我遇到了一映我不能找出:
这是什么我的数据库表看起来像:
<bincontents>
<id>5873715</id>
<title>Video Title</title>
<sortorder>0</sortorder>
<itemid>23079</itemid>
<itemtype>VIDEO</itemtype>
</bincontents>
<bincontents>
<id>5873716</id>
<title>Clip Title</title>
<sortorder>1</sortorder>
<itemid>131854</itemid>
<itemtype>CLIP</itemtype>
</bincontents>
有没有办法到地图一个一对一的一个where?
因此BinContent对象可以有项类型的视频或片段。这些都键作为串,我不能改变这一不幸。
因此,如果项类型段说,"视频"我想多一个"视频"的对象, 然而,如果项类型场说"剪辑",我想要有一个多对一个剪辑。
帮助!
我甚至不知道如果我想用一个多对一个在这种情况。也许是一个对一个吗?
解决方案
就像你有继承候选人这听起来我。如果你有BinContents的抽象基本类型,有一个派生类VideoBinContents的,它包含只是一个视频映射,并只包含一个片段映射ClipBinContents。你的项目类型为你的鉴别。看看这里更多: http://www.hibernate.org /hib_docs/reference/en/html/inheritance.html
其他提示
你能不能有两个视频和剪辑的对象,在你的班级,只是确保两者都是从来没有填充在同一时间?可能需要某些更多的信息,例如你的前类结构。此外,只有将一个视频每桶的对象,反之亦然?
也许这比你在找什么更复杂,但似乎,也许你可以设置你的仓基类和具有视频或影视素材的子类。使用每继承的类层次结构,您可以使用您现有的表结构。
表这样做将允许你对于每个子类提供不同的映射。
您可以看看在任何映射。 与“任意”的映射,则可以定义一个多态型的关联。
反正我不熟悉你的‘域’,但我认为吉姆有一个点为好。也许你应该检查你的数据模型和的DomainModel(如果可能的话),看看是否某种继承是不恰当的位置。
不隶属于 StackOverflow