我有一个实体A,它与实体B存在多对多关系。
因此,表格布局如下:A、AB(映射表)、B。
要获取实体A的对象,我调用A.getById(),它使用Spring和Hibernate执行getHibernateTemplate().get(A.class, id)。
问题在于,有时候后续代码只需要A,有时候后续代码将继续访问相关的B,因此我们想在某些情况下使用延迟加载,在其他一些情况下使用急切加载。但问题是,所有数据库访问都通过同一个ADao.java提供,所以只有一个方法getById()。
我应该创建两个版本的getById()方法吗?
但是,对于更复杂的情况,如果A也通过多对多与C相连,则可能存在惰性加载-C 和 急切加载-C 的变体,因此所需的getById()变体会快速呈指数增长。
你对这个选择有什么看法?
谢谢。
因此,表格布局如下:A、AB(映射表)、B。
要获取实体A的对象,我调用A.getById(),它使用Spring和Hibernate执行getHibernateTemplate().get(A.class, id)。
问题在于,有时候后续代码只需要A,有时候后续代码将继续访问相关的B,因此我们想在某些情况下使用延迟加载,在其他一些情况下使用急切加载。但问题是,所有数据库访问都通过同一个ADao.java提供,所以只有一个方法getById()。
我应该创建两个版本的getById()方法吗?
但是,对于更复杂的情况,如果A也通过多对多与C相连,则可能存在惰性加载-C 和 急切加载-C 的变体,因此所需的getById()变体会快速呈指数增长。
你对这个选择有什么看法?
谢谢。