Java tutorial
package com.lm.lic.manager.hibernate; import java.util.List; import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; import org.hibernate.LockMode; import org.springframework.context.ApplicationContext; import org.springframework.orm.hibernate3.support.HibernateDaoSupport; /** * A data access object (DAO) providing persistence and search support for PerIndividualCustomerAutoMailConfig entities. * Transaction control of the save(), update() and delete() operations can directly support Spring container-managed transactions * or they can be augmented to handle user-managed Spring transactions. Each of these methods provides additional information for * how to configure it for the desired type of transaction control. * * @see com.lm.lic.manager.hibernate.PerIndividualCustomerAutoMailConfig * @author Ibrahim Mustafa */ public class PerIndividualCustomerAutoMailConfigDAO extends HibernateDaoSupport { private static final Log log = LogFactory.getLog(PerIndividualCustomerAutoMailConfigDAO.class); public static final String ACTIVE = "active"; public static final String ACTIVATION_NUMBER = "activatiionNumber"; public static final String NUM_MAILS_TO_SEND = "numMailsToSend"; public static final String NUM_MAILS_SENT = "numMailsSent"; public static final String CREATED_BY = "createdBy"; public static final String MODIFIED_BY = "modifiedBy"; @Override protected void initDao() { } public void save(PerIndividualCustomerAutoMailConfig transientInstance) { log.debug("saving PerIndividualCustomerAutoMailConfig instance"); try { getHibernateTemplate().save(transientInstance); log.debug("save successful"); } catch (RuntimeException re) { log.error("save failed", re); throw re; } } public void delete(PerIndividualCustomerAutoMailConfig persistentInstance) { log.debug("deleting PerIndividualCustomerAutoMailConfig instance"); try { getHibernateTemplate().delete(persistentInstance); log.debug("delete successful"); } catch (RuntimeException re) { log.error("delete failed", re); throw re; } } public PerIndividualCustomerAutoMailConfig findById(java.lang.Long id) { log.debug("getting PerIndividualCustomerAutoMailConfig instance with id: " + id); try { PerIndividualCustomerAutoMailConfig instance = (PerIndividualCustomerAutoMailConfig) getHibernateTemplate() .get("com.lm.lic.manager.hibernate.PerIndividualCustomerAutoMailConfig", id); return instance; } catch (RuntimeException re) { log.error("get failed", re); throw re; } } public PerIndividualCustomerAutoMailConfig findActiveByLicenseId(Long licenseId) { log.debug("getting PerIndividualCustomerAutoMailConfig instance with licenseId: " + licenseId); PerIndividualCustomerAutoMailConfig x = null; try { String queryString = "from PerIndividualCustomerAutoMailConfig as x where x.active = true and x.license.id= ?"; @SuppressWarnings("unchecked") List<PerIndividualCustomerAutoMailConfig> xs = getHibernateTemplate().find(queryString, licenseId); if (xs != null && xs.size() > 0) x = xs.get(0); } catch (RuntimeException re) { log.error("find by property name failed", re); throw re; } return x; } @SuppressWarnings("unchecked") public List<PerIndividualCustomerAutoMailConfig> findByExample(PerIndividualCustomerAutoMailConfig instance) { log.debug("finding PerIndividualCustomerAutoMailConfig instance by example"); try { List<PerIndividualCustomerAutoMailConfig> results = getHibernateTemplate().findByExample(instance); log.debug("find by example successful, result size: " + results.size()); return results; } catch (RuntimeException re) { log.error("find by example failed", re); throw re; } } @SuppressWarnings("unchecked") public List<PerIndividualCustomerAutoMailConfig> findByProperty(String propertyName, Object value) { log.debug("finding PerIndividualCustomerAutoMailConfig instance with property: " + propertyName + ", value: " + value); try { String queryString = "from PerIndividualCustomerAutoMailConfig as model where model." + propertyName + "= ?"; return getHibernateTemplate().find(queryString, value); } catch (RuntimeException re) { log.error("find by property name failed", re); throw re; } } public List<PerIndividualCustomerAutoMailConfig> findByActive(Object active) { return findByProperty(ACTIVE, active); } public List<PerIndividualCustomerAutoMailConfig> findByActivationNumber(Object activationNumber) { return findByProperty(ACTIVATION_NUMBER, activationNumber); } public List<PerIndividualCustomerAutoMailConfig> findByNumMailsToSend(Object numMailsToSend) { return findByProperty(NUM_MAILS_TO_SEND, numMailsToSend); } public List<PerIndividualCustomerAutoMailConfig> findByNumMailsSent(Object numMailsSent) { return findByProperty(NUM_MAILS_SENT, numMailsSent); } public List<PerIndividualCustomerAutoMailConfig> findByCreatedBy(Object createdBy) { return findByProperty(CREATED_BY, createdBy); } public List<PerIndividualCustomerAutoMailConfig> findByModifiedBy(Object modifiedBy) { return findByProperty(MODIFIED_BY, modifiedBy); } @SuppressWarnings("unchecked") public List<PerIndividualCustomerAutoMailConfig> findAll() { log.debug("finding all PerIndividualCustomerAutoMailConfig instances"); try { String queryString = "from PerIndividualCustomerAutoMailConfig"; return getHibernateTemplate().find(queryString); } catch (RuntimeException re) { log.error("find all failed", re); throw re; } } public PerIndividualCustomerAutoMailConfig merge(PerIndividualCustomerAutoMailConfig detachedInstance) { log.debug("merging PerIndividualCustomerAutoMailConfig instance"); try { PerIndividualCustomerAutoMailConfig result = getHibernateTemplate().merge(detachedInstance); log.debug("merge successful"); return result; } catch (RuntimeException re) { log.error("merge failed", re); throw re; } } public void attachDirty(PerIndividualCustomerAutoMailConfig instance) { log.debug("attaching dirty PerIndividualCustomerAutoMailConfig instance"); try { getHibernateTemplate().saveOrUpdate(instance); log.debug("attach successful"); } catch (RuntimeException re) { log.error("attach failed", re); throw re; } } public void attachClean(PerIndividualCustomerAutoMailConfig instance) { log.debug("attaching clean PerIndividualCustomerAutoMailConfig instance"); try { getHibernateTemplate().lock(instance, LockMode.NONE); log.debug("attach successful"); } catch (RuntimeException re) { log.error("attach failed", re); throw re; } } public static PerIndividualCustomerAutoMailConfigDAO getFromApplicationContext(ApplicationContext ctx) { return (PerIndividualCustomerAutoMailConfigDAO) ctx.getBean("perIndividualCustomerAutoMailConfigDAO"); } }