Tag: ddd repositories

如何改变设计,使实体不使用注射?

我已经阅读并开始意识到自己的实体(数据对象 – 用于JPA或序列化)注入其中是一个坏主意。 这是我当前的设计(所有相应的字段都有getter和setter,以及为了简洁而放弃的serialVersionUID )。 这是父对象,它是实体组合图的头部。 这是我序列化的对象。 public class State implements Serializable { List cars = new ArrayList(); List planes = new ArrayList(); // other objects similar to AbstractPlane as shown below } AbstractPlane及其子类只是没有注入的简单类: public abstract class AbstractPlane implements Serializable { long serialNumber; } public class PropellorPlane extends AbstractPlane { int propellors; } public class […]

使用JPA / Spring的(通用)DDD存储库的方法:它看起来不对吗?

我对DDD和JPA很新。 我正在使用JPA和Spring开发通用存储库。 我非常喜欢文章DDD中公开的方法:通用存储库和JPA实现模式:数据访问对象 。 我的目标是使用JPA和Spring在域驱动设计中构建完美的存储库。 在第一篇文章概念之后,我使用内部通用存储库来尊重域与数据存储的契约 。 public interface IInternalGenericRepository { List read(String query, Object[] params); void persist(E entity); void remove(E entity); } public class InternalGenericRepository implements IInternalGenericRepository { // Injected through DI in Spring @PersistenceContext private EntityManager em; private final Class entityClass; public List read(String query, Object[] params) { Query q = em.createQuery(query); for […]