Java Hibernate只填充一个表
在我的项目中,我使用xml(不是注释)将DB映射到类,我已经将两个表映射到一个类,如下所示Java Hibernate只填充一个表,java,database,hibernate,pojo,Java,Database,Hibernate,Pojo,在我的项目中,我使用xml(不是注释)将DB映射到类,我已经将两个表映射到一个类,如下所示 <hibernate-mapping> <class name="com.fg.fixtransbridge.model.BookStatistics" entity-name="BookStatistics" table="book_statistics"> </class> <class name="com.fg.fixtr
<hibernate-mapping>
<class name="com.fg.fixtransbridge.model.BookStatistics"
entity-name="BookStatistics" table="book_statistics">
</class>
<class name="com.fg.fixtransbridge.model.BookStatistics"
entity-name="BookStatisticsHistory" table="book_statistics_copy">
</class>
</hibernate-mapping>
如果我调用session.saveOrUpdate(“bookstatisticshhistory”,b)1st,那么只有另一个表被填充
SessionFactory sessionFactory;
ServiceRegistry serviceRegistry;
Configuration configuration = new Configuration();
configuration.configure();
serviceRegistry = new ServiceRegistryBuilder().applySettings(configuration.getProperties()).buildServiceRegistry();
sessionFactory = configuration.buildSessionFactory(serviceRegistry);
Session session = sessionFactory.openSession();
session.beginTransaction();
session.saveOrUpdate("BookStatistics", b);
session.saveOrUpdate("BookStatisticsHistory", b);
session.getTransaction().commit();
那么,是否有任何方法可以使用单个服务填充这两个表呢。提前感谢您可以使用两个会话来完成此操作。像
Session session1 = sessionFactory.openSession();
Session session2 = sessionFactory.openSession();
但我认为这不是很好的做法。无论如何,一个DAO中不需要两个表。这也不是一个好的做法
因此,我为这两个表创建了两个DAO,并执行了CRUD(创建、,
读取、更新、删除)操作并使用一个服务调用
布斯
为了提高效率,我自动连接会话工厂。否则,当它尝试执行任何CRUD操作时,每次都会创建一个新的会话工厂,这会消耗大量的时间和资源 什么是b?一个图书统计或图书统计历史,我想这是图书统计的例子,我很抱歉,是的。这是一个图书统计的例子。历史课上没有书anyway@Koitoer你有什么答案吗??)
Session session1 = sessionFactory.openSession();
Session session2 = sessionFactory.openSession();