我正在構建一個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屬性中定義少數屬性,而在休眠特性方面卻很少。這是一個正確的方法嗎? –