- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我有一个抽象实体,其他 4 个实体继承自该抽象实体。这种关系运行良好,但是我想查询抽象实体,以便获取所有实体,无论其类型如何。我不知道在哪里放置这样的方法,因为父实体 dao 也是抽象的。
EntityParent(抽象)-> EntityType1、EntityType2、EntityType3、EntityType4
DAO 看起来像这样:
EntityParentDAO(抽象)-> EntityType1DAO、EntityType2DAO、EntityType3DAO、EntityType4DAO
TX 也看起来像这样:EntityParentTx(抽象)-> EntityType1Tx、EntityType2Tx、EntityType3Tx、EntityType4Tx
我的项目结构如下:实体 -> 每个实体的 DAO -> 每个 DAO 的 TX -> 组合多个 TX 的服务
有一个服务,它使用我的项目范围内的所有*TX*。这是应该放置条件/HQL 查询的地方吗?这听起来不太正确。
例如,假设我有一个 Car
父实体,并且有一个子实体 Coupe
、Sedan
、Minivan
code> 等等,我想要一个汽车列表,该列表具有所有人共有的属性,因此在实体(及其表)Car
中。考虑到我所遵循的结构,我应该在哪里放置此查询/方法?
最佳答案
我不确定我是否遵循事务继承,但为什么不将父 dao 具体化并将其添加到那里呢?只要父级是一个实体,并且它具有该字段,您就可以对其进行查询。返回类型将是基本类型的列表,但它将是实际类型的实例。
例如:
@Entity
@Table(name = "table")
@Inheritance(strategy = InheritanceType.SINGLE_TABLE)
@DiscriminatorColumn(name = "type", discriminatorType = DiscriminatorType.INTEGER)
public abstract class ParentImpl implements Parent{}
@Entity
@DiscriminatorValue("1")
public class Entity1Impl extends ParentImpl {}
public interface AbstractDao<T extends Parent> {}
public interface ConcreteParentDao<Parent> {}
关于java - dao、tx、服务结构 : where to place a method querying an abstract entity?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9620768/
我是一名优秀的程序员,十分优秀!