Java 延迟加载模型
假设我有一个模型对象Java 延迟加载模型,java,data-access-layer,Java,Data Access Layer,假设我有一个模型对象事件,它包含一个地点。当我查询数据库以填充场馆时,我只想存储可用于延迟加载场馆的venueid 我有一个数据访问类Events(复数),其函数类似于Event findEventByName(String name)。与其他模型对象类似。如果在我的活动课程中,我有getVenue类似: public Venue getVenue() { if (this.venue == null) this.venue = Venues.findVenueById
事件
,它包含一个地点
。当我查询数据库以填充场馆时,我只想存储可用于延迟加载场馆的venueid
我有一个数据访问类Events
(复数),其函数类似于Event findEventByName(String name)
。与其他模型对象类似。如果在我的活动
课程中,我有getVenue
类似:
public Venue getVenue() {
if (this.venue == null)
this.venue = Venues.findVenueById(this.venueid);
return this.venue;
}
这会起作用,但它会将我的模型与我的数据访问结合起来。我认为我的设计不是真的“正确”?那么我该如何改变它呢。对于这个学术项目,我想我不会使用像Hibernate这样的第三方库来了解如何实现它 我认为您是正确的,将对象模型与数据访问相结合不是最好的设计
现代的对象到关系映射器非常先进。例如,EclipseLink可以动态修改类文件的字节码,以提供延迟加载等特性。他们叫它 其实没那么糟糕;我想问题是你有多少种不同的数据访问方式?如果你有很多,那么你可能想通过接口来做,否则看起来没问题。哦,那么也许,我可以保持原样,或者当我填充我的模型时,我也会注入DataAccess对象。