org.openxma.dsl.reference.dao.impl
Class ProductDaoImpl

java.lang.Object
  extended by org.openxma.dsl.platform.dao.impl.GenericDaoHibernateImpl<Product,ProductId>
      extended by org.openxma.dsl.reference.dao.impl.ProductDaoImpl
All Implemented Interfaces:
org.openxma.dsl.platform.dao.EntityFactory<Product>, org.openxma.dsl.platform.dao.FinderExecutor<Product>, org.openxma.dsl.platform.dao.GenericDao<Product,ProductId>, ProductDao

@Repository(value="productDao")
public class ProductDaoImpl
extends org.openxma.dsl.platform.dao.impl.GenericDaoHibernateImpl<Product,ProductId>
implements ProductDao

See Also:
ProductDao

Field Summary
 
Fields inherited from class org.openxma.dsl.platform.dao.impl.GenericDaoHibernateImpl
argumentTypeFactory, dataFieldMaxValueIncrementer, logger, namingStrategy, sessionFactory, type
 
Constructor Summary
ProductDaoImpl()
           
 
Method Summary
 Product create()
          Factory method to create an empty ProductDao entity with an already assigned identifier.
 Product create(Supplier supplier, java.lang.String name, java.lang.Integer unitPrice)
          Factory method to create an empty ProductDao taking all not null attributes.
 Product createAndSave(Supplier supplier, java.lang.String name, java.lang.Integer unitPrice)
          Factory method to create and save an empty ProductDao taking all not null attributes.
 Product createEntity(java.lang.Object context)
           
 void setDataFieldMaxValueIncrementer(org.springframework.jdbc.support.incrementer.DataFieldMaxValueIncrementer dataFieldMaxValueIncrementer)
           
 void setSessionFactory(org.hibernate.SessionFactory sessionFactory)
           
 
Methods inherited from class org.openxma.dsl.platform.dao.impl.GenericDaoHibernateImpl
applyPagingParameters, delete, delete, evict, executeFinder, find, findAll, findByExample, get, iterateFinder, load, merge, read, refresh, saveOrUpdate, setArgumentTypeFactory, setNamingStrategy, update
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 
Methods inherited from interface org.openxma.dsl.platform.dao.GenericDao
delete, delete, evict, find, findAll, findByExample, get, load, merge, refresh, saveOrUpdate, update
 

Constructor Detail

ProductDaoImpl

public ProductDaoImpl()
Method Detail

setSessionFactory

public void setSessionFactory(@Qualifier(value="default")
                              org.hibernate.SessionFactory sessionFactory)
Overrides:
setSessionFactory in class org.openxma.dsl.platform.dao.impl.GenericDaoHibernateImpl<Product,ProductId>
Parameters:
sessionFactory - the sessionFactory to set

setDataFieldMaxValueIncrementer

public void setDataFieldMaxValueIncrementer(@Qualifier(value="default")
                                            org.springframework.jdbc.support.incrementer.DataFieldMaxValueIncrementer dataFieldMaxValueIncrementer)
Overrides:
setDataFieldMaxValueIncrementer in class org.openxma.dsl.platform.dao.impl.GenericDaoHibernateImpl<Product,ProductId>
Parameters:
dataFieldMaxValueIncrementer - the dataFieldMaxValueIncrementer to set

createEntity

public Product createEntity(java.lang.Object context)
Specified by:
createEntity in interface org.openxma.dsl.platform.dao.EntityFactory<Product>
Parameters:
context - the context for the object creation
Returns:
an instance of the entity matching the given name

create

public Product create()
Description copied from interface: ProductDao
Factory method to create an empty ProductDao entity with an already assigned identifier. The advantage of this approach, coupled with the fact that we're using the id for equals, is that equality test's are immediately possible and therefore independent from the persistence state of the entity. This in contrast to other solutions where auto generated Keys are used which must wait until the object is persisted or differentiate between transient and managed states.

Specified by:
create in interface ProductDao
Overrides:
create in class org.openxma.dsl.platform.dao.impl.GenericDaoHibernateImpl<Product,ProductId>
Returns:
a new (non managed), empty ProductDao entity with an already assigned identifier.

create

public Product create(Supplier supplier,
                      java.lang.String name,
                      java.lang.Integer unitPrice)
Description copied from interface: ProductDao
Factory method to create an empty ProductDao taking all not null attributes.

Specified by:
create in interface ProductDao
Returns:
a new, transient (i.e. is not associated with a persistence context and has no persistent representation in the database) ProductDao entity with the given natural identifier and not null attributes set.

createAndSave

public Product createAndSave(Supplier supplier,
                             java.lang.String name,
                             java.lang.Integer unitPrice)
Description copied from interface: ProductDao
Factory method to create and save an empty ProductDao taking all not null attributes.

Specified by:
createAndSave in interface ProductDao
Returns:
a new, transient (i.e. is not associated with a persistence context and has no persistent representation in the database) ProductDao entity with the given natural identifier and not null attributes set.


Copyright © 2010. All Rights Reserved.