我正在构建一个spring 4 + Hibernate5应用程序。我想知道在通过DataSource对象和hibernate.connection.url,hibernate.connection.username等hibernate属性来定义数据库连接属性(例如url,username等)方面是否有任何区别。Offcourse最终会将数据源对象被绑定到会话工厂。只是想确保以正确的方式做事。spring + testng + hibernate right session for session factory
我想通过dataSource属性定义一个单独的datesource对象,以便我可以对测试用例使用AbstractTransactionalTestNGSpringContextTests。这个类总是期待一个数据源对象。我想使用@Rollback功能,此功能正在使用AbstractTransactionalTestNGSpringContextTests。 AbstractTestNGSpringContextTests不支持回滚功能,但仍然保持完美。
需要以正确的方式输入工具。
添加示例代码以提供更多信息。
@ContextConfiguration(locations = { "classpath:spring/fpda_persistence_config.xml" })
@Rollback
@Transactional
public class BankTransactionDAOTest extends AbstractTestNGSpringContextTests {
@Autowired
private BankTransactionDAO bankTransactionDao;
@Test
public void createBankTransactionTest(){
BankTransaction bt = new BankTransaction();
bt.setAuthoritativeTableId(new BigDecimal(1234));
bt.setBankTransactionTypeCode(new Character('C'));
bt.setInstanceId(new BigDecimal(1234));
bt.setRowCreatedEpochTime(new BigDecimal(1234));
bt.setTransactionId(new BigDecimal(1234));
bt.setTransactionKey(new BigDecimal(System.currentTimeMillis()));
bankTransactionDao.createBankTransaction(bt);
}
}
这里进行交易回滚成功地发生了,我才知道,我们应该扩大AbstractTransactionalTestNGSpringContextTests代替AbstractTestNGSpringContextTests。然后,我应该声明数据源属性,而不是在hibernate属性中定义所有属性。 所以整体来说,它是一个正确的方法来声明一些属性在数据源和一些属性在休眠?它会有所作为吗?
在此先感谢。
是装载性能的这种方式可以是一个不错的办法。但是我主要关心的是,我们是否可以在datasoruce属性中定义少数属性,而在休眠特性方面却很少。这是一个正确的方法吗? –