我想知道为什么hibernate地图id在单独的类中,这是非常令人难以忘怀的!
因此,我有一个表Productlanguage,其中每一行都有一个id。这个id被设置为自动增量,所以我不需要自己添加它。然而,hibernate自动映射使用以下代码添加了一个新的类ProductlanguageId:http://pastebin.com/Dwy17BX1。
现在产品语言的id被设置为这个类的一个对象。
有人能告诉我hibernate为什么创建了这个类,以及我应该如何使用这个类吗?因为我真的不知道。
编辑:我发现这是因为这个表的主键是由三列组成的。您可以在这张截图上看到这个:

但是,我仍然不知道如何创建这个Id,因为ProductlanguageId类中的id需要自动生成。事实并非如此。有人能告诉我如何确保这是自动完成的吗?
我已经用netbeans自动生成了映射。
发布于 2012-11-25 17:34:02
为什么需要使用嵌入的复合ID?如果它是嵌入式的,那么您实际上可以采用两种方法--要么使用来自同一个类的字段(但之后会遇到问题,例如,在按id获取对象时),或者添加额外的类(您是如何实现的)。
但是,只有当您使用复合ID时才需要这些,如果您的ID只是一个整数,您可以使用本机ID生成器,您不需要为此创建一个单独的类。
https://stackoverflow.com/questions/13553523
复制相似问题