发送JPA Wrapper对象

时间:2013-11-12 13:21:37

标签: java entity-framework jpa business-logic toplink

我为@Entities的单独的业务逻辑创建了结构,我做了@Entity,如 POJO ,这类似于{{{{ 1}}包含业务逻辑验证

我认为发送我的BO CRUD ,但问题是当我想要阅读返回我"BO"对象时(我不知道是否我必须创建转换器或其他内容)但是当我想要创建,更新或删除时返回错误说@Entity不知道"BO"(我知道这一点但我应该在某种程度上参加父班)。

有什么想法吗?

更新

实体类

@Entity

公共类员工{

@Entity

}

我的BO:

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;
}

}

然后我只工作EmployeeBO。例如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 }

1 个答案:

答案 0 :(得分:-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) {
    }
}

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