Java 如何使用EJB3.0创建弱实体
假设我有一个实体“Employee”和一个实体“Address”。员工有与其关联的地址。在关系数据库的意义上,地址表将被视为弱实体,因为如果数据库中没有相应的雇员,雇员地址就不可能存在。因此,假设我要对以下内容进行建模: 表格:员工 员工ID |姓名 表地址 员工ID |街道名称 对于Employee表,主键是EmployeeID。对于地址表,主键是EmployeeID,但它也是Employee表的外键。您将如何使用j2ee在EJB3.0中对此进行建模?当我创建一个名为Employee的实体类时,我可以在employeeId上面设置@id注释,以便将该属性标记为主键。但是,在创建地址实体时,我希望将employeeID属性设置为主键和外键(将其与Employee表关联)。这个有注释吗?希望我已经把问题说清楚了。谢谢Java 如何使用EJB3.0创建弱实体,java,jpa,ejb,Java,Jpa,Ejb,假设我有一个实体“Employee”和一个实体“Address”。员工有与其关联的地址。在关系数据库的意义上,地址表将被视为弱实体,因为如果数据库中没有相应的雇员,雇员地址就不可能存在。因此,假设我要对以下内容进行建模: 表格:员工 员工ID |姓名 表地址 员工ID |街道名称 对于Employee表,主键是EmployeeID。对于地址表,主键是EmployeeID,但它也是Employee表的外键。您将如何使用j2ee在EJB3.0中对此进行建模?当我创建一个名为Employee的实体类时
db将地址映射为一个单独的实体可能不是一个好主意-不仅如您所说,地址的生命周期由其所有者(如员工)控制,而且您也不希望在不同的员工之间共享同一地址实例 考虑将其映射为: 注意,上面将地址列映射到Employee表;如果希望保留一个单独的表,可以使用注释覆盖该表
@Embeddable
public class Address {
private String streetName;
...
}
@Entity
public class Employee {
@Embedded
private Address address;
...
}