use of com.vladmihalcea.hibernate.model.store.Company in project vladmihalcea.wordpress.com by vladmihalcea.
the class CompanySchedulerTest method test.
@Test
public void test() throws InterruptedException {
transactionTemplate.execute(new TransactionCallback<Void>() {
@Override
public Void doInTransaction(TransactionStatus transactionStatus) {
Company tvCompany = new Company();
tvCompany.setName("TV Company");
Company radioCompany = new Company();
radioCompany.setName("Radio Company");
entityManager.persist(tvCompany);
entityManager.persist(radioCompany);
return null;
}
});
Thread.sleep(500);
}
use of com.vladmihalcea.hibernate.model.store.Company in project vladmihalcea.wordpress.com by vladmihalcea.
the class HibernateSQLStatementCountTest method test.
@Test
public void test() {
transactionTemplate.execute(new TransactionCallback<Void>() {
@Override
public Void doInTransaction(TransactionStatus transactionStatus) {
Company company = new Company();
company.setName("TV Company");
entityManager.persist(company);
Product product1 = new Product("tvCode");
product1.setName("TV");
product1.setCompany(company);
WarehouseProductInfo warehouseProductInfo1 = new WarehouseProductInfo();
warehouseProductInfo1.setQuantity(101);
product1.addWarehouse(warehouseProductInfo1);
Product product2 = new Product("cdCode");
product2.setName("CD");
product2.setCompany(company);
WarehouseProductInfo warehouseProductInfo2 = new WarehouseProductInfo();
warehouseProductInfo2.setQuantity(50);
product2.addWarehouse(warehouseProductInfo2);
entityManager.persist(product1);
entityManager.persist(product2);
entityManager.flush();
final JdbcTemplate otherDataSourceJdbcTemplate = new JdbcTemplate(otherDataSource);
List<Map<String, Object>> versions = otherDataSourceJdbcTemplate.queryForList(" select * from version ");
assertTrue(versions.isEmpty());
return null;
}
});
try {
SQLStatementCountValidator.reset();
warehouseProductInfoService.findAllWithNPlusOne();
SQLStatementCountValidator.assertSelectCount(1);
} catch (SQLSelectCountMismatchException e) {
assertEquals(3, e.getRecorded());
}
SQLStatementCountValidator.reset();
warehouseProductInfoService.findAllWithFetch();
SQLStatementCountValidator.assertSelectCount(1);
SQLStatementCountValidator.reset();
warehouseProductInfoService.newWarehouseProductInfo();
SQLStatementCountValidator.assertSelectCount(1);
SQLStatementCountValidator.assertInsertCount(2);
}
use of com.vladmihalcea.hibernate.model.store.Company in project vladmihalcea.wordpress.com by vladmihalcea.
the class WarehouseProductInfoServiceImpl method newWarehouseProductInfo.
@Override
@Transactional
public WarehouseProductInfo newWarehouseProductInfo() {
LOGGER.info("newWarehouseProductInfo");
Company company = entityManager.createQuery("from Company", Company.class).getResultList().get(0);
Product product3 = new Product("phoneCode");
product3.setName("Phone");
product3.setCompany(company);
WarehouseProductInfo warehouseProductInfo3 = new WarehouseProductInfo();
warehouseProductInfo3.setQuantity(19);
product3.addWarehouse(warehouseProductInfo3);
entityManager.persist(product3);
return warehouseProductInfo3;
}
use of com.vladmihalcea.hibernate.model.store.Company in project vladmihalcea.wordpress.com by vladmihalcea.
the class HibernateJPATransactionIsolationIntegrationTest method test.
@Test
public void test() {
transactionTemplate.execute(new TransactionCallback<Void>() {
@Override
public Void doInTransaction(TransactionStatus transactionStatus) {
Company company = new Company();
company.setName("TV Company");
entityManager.persist(company);
Product product1 = new Product("tvCode");
product1.setName("TV");
product1.setCompany(company);
Image frontImage1 = new Image();
frontImage1.setName("front image 1");
frontImage1.setIndex(0);
Image sideImage1 = new Image();
sideImage1.setName("side image 1");
sideImage1.setIndex(1);
product1.addImage(frontImage1);
product1.addImage(sideImage1);
WarehouseProductInfo warehouseProductInfo1 = new WarehouseProductInfo();
warehouseProductInfo1.setQuantity(101);
product1.addWarehouse(warehouseProductInfo1);
entityManager.persist(product1);
Product product = entityManager.find(Product.class, 1L);
product.setQuantity(10);
return null;
}
});
storeService.purchase(1L);
}
Aggregations