我为@Entities
的单独业务逻辑创建了结构,我做了像POJO这样的@Entity
,这扩展为类似于包含业务逻辑和验证的BO
。
我认为发送我的 CRUD "BO"
,但问题是当我想读取返回我@Entity
对象时(我不知道我是否必须创建转换器或其他东西),但是当我想创建、更新或删除返回我时,错误说"BO"
不知道@Entity
(我知道这一点,但我应该以某种方式参加父亲课程)。
知道吗?
更新
实体类
@Entity
公共类员工 {
protected String id;
protected String name;
protected float salary;
protected Employee() { }
public final String getId() {
return id
}
public void setId(String id) {
this.id = id;
}
public final String getName() {
return name
}
public void setName(String name) {
this.name = name;
}
public final float getSalary() {
return salary
}
public void setSalary(float salary) {
this.salary = salary;
}
}
我的博:
public class EmployeeBO extends Employee{
public EmployeeBO(String id, String name, float salary) {
setId(id);
setName(name)
setSalary(salary);
}
public final void setSalary(float salary) {
//bussines logic
}
public final void setName(String name) {
//bussines logic
}
public final void setId(String id) {
//bussines logic
}
}
然后我只工作 员工BO.例如em.remove(employeeBO)
业务层应在数据层之上运行,并组织成逻辑连接的组。像这样:
public class EmployeeInfoOperations {
public final void updateName(Employee employee, String newName) {
//bussines logic: trigger name update on external systems?
}
public final void updateContactAddress(Employee employee, Address newAddress) {
}
}
public class EmployeeAccounting {
public final void changeSalary(Employee employee,float newSalary) {
}
public final void giveBonus(Employee employee, bigdecimal bonusAmount) {
}
}
业务操作类甚至不必以一种实体类型为中心。考虑业务操作组,小到足以成为一个类,并使用任何实体类型作为参数。