【发布时间】:2025-12-12 14:00:01
【问题描述】:
如果有人可以提供帮助,我们将不胜感激。
我的计划是有两层。一是服务层,二是DAO层。服务层做业务逻辑,DAO层做CRUD数据操作。
有两个名为 Person 和 Order 的休眠实体。这两个实体实现了一个 BaseEntity 接口。想在DAO层写一个泛型方法,让它可以取任何实体。
关于如何编写通用 dao 方法的任何建议?
@Entity
@Table(name = "PERSON")
public class Person implements BaseEntity, java.io.Serializable {
private int id;
private String firstName;
public Person() {
}
@Id
@Column(name = "PERSON_ID")
@GeneratedValue(strategy = GenerationType.AUTO)
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
@Column(name = "FIRST_NAME", nullable = false, length = 50)
public String getFirstName() {
return firstName;
}
public void setFirstName(String firstName) {
this.firstName = firstName;
}
}
@Entity
@Table(name = "PURCHASE_ORDER")
public class Order implements BaseEntity java.io.Serializable {
private int id;
public Order() {
}
@Id
@Column(name = "ORDER_ID")
@GeneratedValue(strategy = GenerationType.AUTO)
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
@Transient
@OneToMany(cascade = CascadeType.ALL, fetch = FetchType.EAGER)
public Set<OrderItem> getOrderItems() {
return orderItems;
}
public void setOrderItems(Set<OrderItem> orderItems) {
this.orderItems = orderItems;
}
}
您能否建议如何创建一个应该将 Person 或 Order 实体作为输入参数的通用方法?
【问题讨论】: