musiclib-hibernatetest/src/site/site.xml -text
musiclib-hibernatetest/src/test/java/org/bgbm/persistence/dao/DatabaseInitialiser.java -text
musiclib-hibernatetest/src/test/java/org/bgbm/persistence/dao/RecordDaoImplTest.java -text
+musiclib-hibernatetest/src/test/java/org/bgbm/persistence/dao/TestIt.java -text
musiclib-hibernatetest/target/mvn-eclipse-cache.properties -text
updateSite/.project -text
updateSite/features/eu.etaxonomy.cdmLibrary_0.2.5.jar -text
import org.hibernate.SessionFactory;\r
import org.springframework.beans.factory.annotation.Autowired;\r
import org.springframework.dao.DataAccessException;\r
+import org.springframework.transaction.annotation.Transactional;\r
\r
\r
/**\r
return factory.getCurrentSession();\r
}\r
\r
- \r
public void save(T domainObj) throws DataAccessException {\r
getSession().saveOrUpdate(domainObj);\r
}\r
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.dao.DataAccessException;
import org.springframework.stereotype.Repository;
+import org.springframework.transaction.annotation.Transactional;
@Repository
-public class GenericDao extends DaoBase<EntityBase> {
+@Transactional
+public class GenericDao{
static Logger logger = Logger.getLogger(GenericDao.class);
+ @Autowired
+ public SessionFactory factory;
- public GenericDao() {
- super(EntityBase.class);
+
+ protected Session getSession(){
+ return factory.getCurrentSession();
+ }
+
+ public void save(EntityBase domainObj) throws DataAccessException {
+ getSession().saveOrUpdate(domainObj);
}
+ public void update(EntityBase domainObj) throws DataAccessException {
+ getSession().update(domainObj);
+ }
+
+ public void delete(EntityBase domainObj) throws DataAccessException {
+ getSession().delete(domainObj);
+ }
+
+ public EntityBase findById(Integer id, Class type) throws DataAccessException {
+ EntityBase obj = (EntityBase) getSession().load(type, id);
+ return obj;
+ }
}
import org.springframework.context.support.ClassPathXmlApplicationContext;
import org.springframework.orm.hibernate3.HibernateTransactionManager;
import org.springframework.stereotype.Component;
+import org.springframework.transaction.annotation.Transactional;
+
+@Component
public class DatabaseInitialiser {
private static final Logger logger = Logger.getLogger(DatabaseInitialiser.class);
- private static ClassPathXmlApplicationContext applicationContext;
+ @Autowired
private RecordDaoImpl recordDao;
+ @Autowired
private GenericDao dao;
+ @Autowired
private HibernateTransactionManager txm;
- public DatabaseInitialiser() {
- applicationContext = new ClassPathXmlApplicationContext("appInitContext.xml");
- dao = (GenericDao)applicationContext.getBean("genericDao");
- recordDao = (RecordDaoImpl)applicationContext.getBean("recordDaoImpl");
- txm = (HibernateTransactionManager)applicationContext.getBean("transactionManager");
- }
public Integer insertRecord(){
logger.info("Populate database with a record");
- Session session = txm.getSessionFactory().openSession();
- Transaction tx = session.beginTransaction();
+// Session session = txm.getSessionFactory().openSession();
+// Transaction tx = session.beginTransaction();
Random generator=new Random();
Label label = new Label("Universal Music");
Band artist = new Band("Sons of Austria");
}
// save record
logger.debug("Save record: "+record.toString());
- recordDao.save(record);
- tx.commit();
- session.flush();
- session.close();
+ dao.save(record);
+// tx.commit();
+// session.flush();
+// session.close();
return record.getId();
}
s.close();
}
- public static void main(String[] args) {
- DatabaseInitialiser dbInit = new DatabaseInitialiser();
- dbInit.insertRecord();
- dbInit.insertRecord();
- }
}
--- /dev/null
+package org.bgbm.persistence.dao;
+
+import org.springframework.context.support.ClassPathXmlApplicationContext;
+
+public class TestIt {
+ private static ClassPathXmlApplicationContext applicationContext;
+
+ public static void main(String[] args) {
+ applicationContext = new ClassPathXmlApplicationContext("appInitContext.xml");
+ DatabaseInitialiser dbInit = (DatabaseInitialiser)applicationContext.getBean("databaseInitialiser");
+ dbInit.insertRecord();
+ dbInit.insertRecord();
+ }
+
+}