package auction.dao; import java.util.List; import java.io.Serializable; /** * An interface shared by all business data access objects. *

* All CRUD (create, read, update, delete) basic data access operations are * isolated in this interface and shared accross all DAO implementations. * The current design is for a state-management oriented persistence layer * (for example, there is no UDPATE statement function) that provides * automatic transactional dirty checking of business objects in persistent * state. * * @author Christian Bauer */ public interface GenericDAO { T findById(ID id, boolean lock); List findAll(); List findByExample(T exampleInstance, String... excludeProperty); T makePersistent(T entity); void makeTransient(T entity); }