【发布时间】:2011-11-29 18:07:58
【问题描述】:
我是hibernate世界的新手,在以下情况下编写映射文件有点困惑。
我有以下类,我想使用 hibernate 坚持:
class Project {
int projectID;
List<String> clients;
List<String> employers;
List<String> technologies;
String description;
}
我已经在数据库中手动创建了以下表格:
+---------------------------+
project
+---------------------------+
project_id (pk) | description
+---------------------------+
+---------------------------+
organizations
+---------------------------+
org_id(pk) | org_name
+---------------------------+
要链接organization 和project 表,我有以下表:
+-------------------------------------------------------------+
project_clients
+-------------------------------------------------------------+
project_id(fk of projects) | client_id(fk of organizations)
+-------------------------------------------------------------+
+-------------------------------------------------------------+
project_employers
+-------------------------------------------------------------+
project_id(fk of projects) | employer_id(fk of organizations)
+-------------------------------------------------------------+
我不知道如何将这些表映射到我的project 类?知道它是如何完成的吗?
我试图利用列表,但列表持久性我们不能使用链接表(project_clients 或project_employers),我不想为客户列表和雇主列表创建单独的类。还是它是唯一的选择?
请帮忙!
编辑 1 谢谢大家的回答。我还有一个疑问。如何告诉hibernate对于客户(例如'foo company')它应该在组织表中搜索'foo company',如果存在该名称,则获取其相应的ID并将其放入project_clients表中。如果 'organizations' 表中不存在 'foo company',则添加它,然后获取其对应的 ID。我也想为雇主做同样的事情。在hibernate中可以做这件事吗?
目前我已经用java编写了程序来完成这一切。
【问题讨论】:
标签: hibernate orm mapping hibernate-mapping