Java DAOs与域中的继承

Java DAOs与域中的继承,java,subclass,dao,Java,Subclass,Dao,假设一个域有一个继承链。例如,它可能有一个Fruit超类,子类可能是Apple和Banana。如何形成相应的DAO?根据每个混凝土等级一个。然而,在实践中,您应该创建一个通用DAO,然后每当您有特定的查询时,就对该DAO进行子类化。您想要的是高级答案,还是技术特定的答案?高级答案。我对如何应用该模式感到困惑,因为我习惯于每个域类有一个DAO。我依赖于技术。如果使用JPA2,则不需要DAO-s。只需使用JPA继承策略。@PiotrGwiazda关于DAO是否对JPA有必要存在一些争论。一种观点认为

假设一个域有一个继承链。例如,它可能有一个
Fruit
超类,子类可能是
Apple
Banana
。如何形成相应的DAO?

根据每个混凝土等级一个。然而,在实践中,您应该创建一个通用DAO,然后每当您有特定的查询时,就对该DAO进行子类化。

您想要的是高级答案,还是技术特定的答案?高级答案。我对如何应用该模式感到困惑,因为我习惯于每个域类有一个DAO。我依赖于技术。如果使用JPA2,则不需要DAO-s。只需使用JPA继承策略。@PiotrGwiazda关于DAO是否对JPA有必要存在一些争论。一种观点认为,如果您交换数据源,那么有一个接口来交换实现是很有用的,但在这种方法中,您失去了JPA的特性。我见过这样的设计:您需要8个DAO来保存,例如,产品订单而不是CASANDING保存,以及一个
em.persist
。只是为了有通用的DAO。通常有太多特定于数据源的代码,您不希望从RDBMS切换到document DB或类似的东西。