최대 절전 모드를 사용하여 일부 테이블을 생성하려고합니다. 나는 다음과 같은 클래스가 :최대 절전 모드를 사용하여 테이블을 생성 할 수 없습니다.
class Candidate {
long candidateID;
String candidate_name;
List<Project> projects;
}
class Project {
long projectID;
Set<String> technologies;
}
을하고 난 다음과 같은 테이블을 생성 할 :
<hibernate-mapping package="com.shekhar.tmpProject.model">
<class name="Project" table="PROJECTS">
<id name="projectID" column="PROJECT_ID" type="integer"
unsaved-value="0">
<generator class="native" />
</id>
<set name="technologies" table="PROJECT_TECHNOLOGIES">
<key column="PROJECT_ID" />
<element column="TECHNOLOGY_NAME" type="string" />
</set>
</class>
</hibernate_mapping>
을하지만, 현재 최대 절전 모드입니다 다음과 같이
+------------------------------+
candidates
------------------------------|
candidate_id | candidate_name
+------------------------------+
+------------------------------+
projects
------------------------------|
candidate_id | project_id
+------------------------------+
+----------------------------------------+
project_technologies
-----------------------------------------|
candidate_id | project_id | technology_id
+----------------------------------------+
+------------------------------+
technologies
-------------------------------|
technology_id | technology_name
+------------------------------+
을 현재 Project
클래스 파일을 매핑하는 것은 내가 원하는 방식으로 테이블을 생성하지 않습니다. 지금 내가 얻는 것은 다음과 같습니다 :
mysql> desc project_technologies;
+------------+--------------+------+-----+---------+-------+
| Field | Type | Null | Key | Default | Extra |
+------------+--------------+------+-----+---------+-------+
| PROJECT_ID | int(11) | NO | PRI | NULL | |
| TECHNOLOGY | varchar(255) | NO | PRI | NULL | |
+------------+--------------+------+-----+---------+-------+
2 rows in set (0.03 sec)
mysql> desc projects;
+--------------+------------+------+-----+---------+----------------+
| Field | Type | Null | Key | Default | Extra |
+--------------+------------+------+-----+---------+----------------+
| PROJECT_ID | int(11) | NO | PRI | NULL | auto_increment |
| CANDIDATE_ID | bigint(20) | YES | MUL | NULL | |
+--------------+------------+------+-----+---------+----------------+
5 rows in set (0.01 sec)
mysql> desc candidates;
+----------------+--------------+------+-----+---------+----------------+
| Field | Type | Null | Key | Default | Extra |
+----------------+--------------+------+-----+---------+----------------+
| CANDIDATE_ID | bigint(20) | NO | PRI | NULL | auto_increment |
| CANDIDATE_NAME | varchar(255) | NO | | NULL | |
+----------------+--------------+------+-----+---------+----------------+
2 rows in set (0.01 sec)
아무도 도와 줄 수 있습니까?
가 왜 : - (여러 엔티티 하나 이상의 테이블)
http://docs.jboss.org/hibernate/core/3.3/reference/en/html/inheritance.html
또 다른 기회가 여기에 자세히 설명되어 있습니다
<union-subclass>
와 함께 당신의<class>
에abstract
속성을 사용하는 것입니다 project_technologies에서'candidate_id'를 원하십니까? 나는'project_id'가 enouth가 될 것이라고 생각합니다. – powerMicha