没有Hibernate映射入门级数据
Hibernate映射:没有Hibernate映射入门级数据
我有以下两类:
class Employee{
int empId;
string name;
float salary;
Department dept;
// ... getters and setters....
}
class Department{
int deptId;
string deptName;
// ....and other details, getter and setters..
}
现在我有表,员工只喜欢
table Employee(EmpId number, Name varchar, salary number,deptId number)
没有必要请保留Department
的表格,因为我只对存储具有dept id的员工数据感兴趣。
我找hibernate mapping
许多到一,一到一,一到多,但所有存储dept data
单独table
需要。
我的问题:有没有办法只保留简单的映射文件,我可以从Department class
Employee mapping
访问deptId
?
感谢
您需要定义系为component
如果你使用XML映射(http://docs.jboss.org/hibernate/orm/3.3/reference/en/html/components.html)或者如果你使用的注释(§2.2.2.4在http://docs.jboss.org/hibernate/annotations/3.5/reference/en/html_single/#entity-mapping-property)的@Embedded/@Embeddable
实体
不要让现场的任何关联 DEPTID,治疗 DEPTID简单属性,像你这样做是为了工资场
我认为,如果你只需要存储deptId,你不需要创建一个Departement类。 因为在Hibernate中,实体类是从Table in Database中表示的。
而且可能是,你可以练习它,你尝试删除从Department类@Entity
注解, @Entity
类,是标注为类成为表数据库。
对不起,我的英语不好。
Can I access dept Id from `Department` class in Employee mapping?
设想一下,一旦你停止程序并重新开始,你有一个department id
与你,你会向谁请求data of that Class
??
不,您必须为mapping
做那个,并且必须在DB
中创建相应的列。
只需将其映射为整数即可。您仍然可以将其映射到EMPLOYEE表上的“DEPT_ID”列:
class Employee{
...
@Column(name = "DEPT_ID")
Integer deptId;
... getters and setters....
}