| DataLayerDemo.java |
package com.demo.demo.services.data;
import com.demo.demo.model.obj.demo.Customer;
import com.demo.demo.model.obj.demo.Line;
import com.demo.demo.model.obj.demo.Order;
import com.demo.demo.model.obj.demo.Stock;
import java.io.Serializable;
import org.hibernate.Criteria;
import org.hibernate.Query;
import org.hibernate.SQLQuery;
import org.hibernate.ReplicationMode;
import org.hibernate.Session;
/**
* Data layer.
* @author autogenerated
*/
public interface DataLayerDemo {
/**
* Deletes the given object from disk.
* @param <T> A DataLayerObject-derived type
* @param persistentObject Object to delete
*/
<T> void delete(T persistentObject);
/**
* Refresh the object $class.className from disk.
* @param <T> A DataLayerObject-derived type
* @param persistentObject Object to reload
*/
<T> void refresh(T persistentObject);
/**
* Saves the given object to disk.
* @param persistentObject Object to save
* @param <T> A DataLayerObject-derived type
* @return Identifier of saved object
*/
<T> Serializable save(T persistentObject);
/**
* Saves or updates the given $class.className object to disk.
* @param <T> A DataLayerObject-derived type
* @param persistentObject Object to save
*/
<T> void saveOrUpdate(T persistentObject);
/**
* Updates the given object to disk.
* @param <T> A DataLayerObject-derived type
* @param persistentObject Object to update
*/
<T> void update(T persistentObject);
/** Deletes an object of a given Id.
* Will load the object internally so consider using delete (Customer obj) directly
* @param id Identifier to delete
*/
void deleteCustomer(final Serializable id);
/**
* Loads the given Object.
* @param id Identifier to load
* @return a Customer object
*/
Customer loadCustomer(final Serializable id);
/**
* Loads the given Object.
* @param id Id to load
* @return An object of type T
*/
Customer getCustomer(final Serializable id);
/** Deletes an object of a given Id.
* Will load the object internally so consider using delete (Line obj) directly
* @param id Identifier to delete
*/
void deleteLine(final Serializable id);
/**
* Loads the given Object.
* @param id Identifier to load
* @return a Line object
*/
Line loadLine(final Serializable id);
/**
* Loads the given Object.
* @param id Id to load
* @return An object of type T
*/
Line getLine(final Serializable id);
/** Deletes an object of a given Id.
* Will load the object internally so consider using delete (Order obj) directly
* @param id Identifier to delete
*/
void deleteOrder(final Serializable id);
/**
* Loads the given Object.
* @param id Identifier to load
* @return a Order object
*/
Order loadOrder(final Serializable id);
/**
* Loads the given Object.
* @param id Id to load
* @return An object of type T
*/
Order getOrder(final Serializable id);
/** Deletes an object of a given Id.
* Will load the object internally so consider using delete (Stock obj) directly
* @param id Identifier to delete
*/
void deleteStock(final Serializable id);
/**
* Loads the given Object.
* @param id Identifier to load
* @return a Stock object
*/
Stock loadStock(final Serializable id);
/**
* Loads the given Object.
* @param id Id to load
* @return An object of type T
*/
Stock getStock(final Serializable id);
/** Returns a query handle.
* @param query Query to use
* @return A query instance
*/
Query createQuery(final String query);
/** Returns a criteria handle.
* @param criteria Criteria to use
* @return A criteria instance
*/
Criteria createCriteria(final String criteria);
/** Returns a Query handle based on your package-level named query.
* @param query Query to use
* @return A query instance
*/
Query getNamedQuery(final String query);
/** Create a new Criteria instance, for the given entity class, or a superclass of an entity class.
* @param persistentObject a class, which is persistent, or has persistent subclasses
* @return Criteria instance
*/
@SuppressWarnings("unchecked")
Criteria createCriteria(Class persistentObject);
/** Flushes the currently open session.
*/
void flushSession();
/** Clears the currently open session.
*/
void clearSession();
/** Flushes and clears the currently open session.
*/
void flushAndClearSession();
/** Call currentSession.replicate.
* @param obj to replicate
* @param replicationMode mode
*/
void replicate(Object obj, ReplicationMode replicationMode);
/** Hibernate Merge.
* @param obj to merge
* @return obj merged.
*/
Object merge(Object obj);
/** Returns the current session.
* @return the currently active session
*/
Session getCurrentSession();
/** Returns a query handle.
* @param query Query to use
* @return A query instance
*/
SQLQuery createSQLQuery(final String query);
/** Remove this instance from the session cache.
* Changes to the instance will not be synchronized with the database
* @param obj object to evict
*/
void evict(Object obj);}