我想知道为什么hibernate在分离的类中映射id,这非常令人讨厌!
所以,我有这个表Productlanguages,其中每一行都有一个id。这个id被设置为自动增量,所以通常我不必自己添加它。然而,hibernate自动映射添加了一个新类ProductlanguageId,其代码如下:http://pastebin.com/Dwy17BX1。
现在,productlanguages的id被设置为该类的对象。
有谁能告诉我为什么hibernate创建了这个类以及我应该如何使用这个类?因为我真的不知道。
修改 我发现这是因为这个表的主键是由三列构成的。您可以在this screenshot上看到此信息:
然而,我仍然不知道如何创建此Id,因为需要自动生成ProductlanguageId类中的id。事实并非如此。谁能告诉我如何确保自动完成?
我已经使用netbeans自动生成了映射。
答案 0 :(得分:0)
为什么需要使用嵌入式复合ID?如果它是嵌入的,那么你实际上可以遵循两种方式 - 使用来自同一类的字段(但是你会遇到问题,例如在通过id获取对象期间),或者通过添加额外的类(如何完成它)。 / p>
但只有当你使用复合ID时才需要这一切,如果你的ID只是一个整数,你可以使用本机ID生成器,你不需要为此创建一个单独的类。