Java 不使用Hibernate映射获取类数据
休眠映射: 我有以下两门课:Java 不使用Hibernate映射获取类数据,java,hibernate,Java,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.. }
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)
不需要为部门
保留表,因为我只对使用部门id存储员工数据感兴趣
我正在寻找多对一、一对一、一对多的hibernate映射
,但需要将部门数据
存储在单独的表
中
我的问题是:是否有一种方法可以只保存简单的映射文件,并且我可以从员工映射中的部门类
访问deptId
谢谢不要与字段deptId建立任何关联,将deptId视为简单属性,就像对待薪资字段一样我认为如果您只需要存储deptId,就不需要创建部门类。
因为在Hibernate中,实体类由数据库中的表表示
也许,你可以练习一下,试着从Department类中删除@Entity
注释,
@Entity
class,是该类成为数据库中表的注释
对不起,我的英语不好。如果您使用xml映射(),则需要将部门定义为组件
;如果您使用注释(§2.2.2.4 in),则需要将部门定义为@Embedded/@Embedded
实体
想象一下,一旦停止程序并再次启动,您就有了一个部门id
,您将向其索取该类的数据
不,您必须为此进行映射
,并且必须在DB
中创建相应的列只需将其映射为整数即可。您仍然可以将其映射到EMPLOYEE
表上的DEPT\u ID
列:
class Employee {
...
@Column(name = "DEPT_ID")
Integer deptId;
... getters and setters....
}
class Employee {
...
@Column(name = "DEPT_ID")
Integer deptId;
... getters and setters....
}