说我在数据库中具有一对多关系的以下表:
Television
列:id(PK),描述,型号,brand_id(FK),type_id(FK)
Type
列:id(PK),名称
代表电视,我可以创建以下模型对象:
public class Television {
String description;
String model;
String brand;
TelevisionType type;
Television(String description, String model, String brand, TelevisionType type) {
this.description = description;
this.model = model;
this.brand = brand;
this.type = type;
}
}
public enum TelevisionType {
QLED,
OLED,
LCD
}
我的DAO界面的基本版本如下:
public interface TelevisionDao {
List<Television> getAllTelevisions();
}
public interface TelevisionTypeDao {
TelevisionType getTelevisionType(int id);
}
但是在我的服务层中,如何为getTelevisionType提供ID?我不想在我的电视模型对象中存储ID。该模型不应该对应用程序的存储层完全不了解吗?我什至不知道如何使用Television
返回我的getAllTelevisions
对象,因为填充其type
字段将需要从{{1}内部调用我的TelevisionTypeDao
},这会打败拥有服务层的意义。
有人可以澄清使用这种模式时如何处理这种情况吗?谢谢。