2

我为单独的业务逻辑创建了结构@Entities,我确实@Entity喜欢POJO,并且它扩展为BO包含业务逻辑验证的东西。

我认为发送我"BO"CRUD但问题是当我想读取返回我的@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
}

}

然后我只工作 EmployeeBO。例如em.remove(employeeBO)

4

1 回答 1

-1

您的业​​务层应在数据层之上运行,并组织成逻辑连接的组。像这样的东西:

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) {
    }
}

您的业​​务操作类甚至不必以一种实体类型为中心。考虑一组业务操作,小到可以成为一个类,并使用任何实体类型作为参数。

于 2013-11-12T14:18:16.770 回答