本文整理汇总了Java中net.sf.hibernate.HibernateException类的典型用法代码示例。如果您正苦于以下问题:Java HibernateException类的具体用法?Java HibernateException怎么用?Java HibernateException使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。
HibernateException类属于net.sf.hibernate包,在下文中一共展示了HibernateException类的20个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的Java代码示例。
示例1: execute
import net.sf.hibernate.HibernateException; //导入依赖的package包/类
public void execute() throws HibernateException {
ClassPersister persister = getPersister();
SessionImplementor session = getSession();
Object object = getInstance();
// Don't need to lock the cache here, since if someone
// else inserted the same pk first, the insert would fail
generatedId = persister.insert(state, object, session);
//TODO: this bit actually has to be called after all cascades!
/*if ( persister.hasCache() && !persister.isCacheInvalidationRequired() ) {
cacheEntry = new CacheEntry(object, persister, session);
persister.getCache().insert(generatedId, cacheEntry);
}*/
}
开发者ID:parabuild-ci,项目名称:parabuild-ci,代码行数:17,代码来源:ScheduledIdentityInsertion.java
示例2: update
import net.sf.hibernate.HibernateException; //导入依赖的package包/类
/**
* Update an object
*/
public void update(Serializable id, Object[] fields, int[] dirtyFields, Object[] oldFields, Object oldVersion, Object object, SessionImplementor session)
throws HibernateException {
//note: dirtyFields==null means we had no snapshot, and we couldn't get one using select-before-update
// oldFields==null just means we had no snapshot to begin with (we might have used select-before-update to get the dirtyFields)
final boolean[] propsToUpdate;
final String updateString;
if ( useDynamicUpdate() && dirtyFields!=null ) {
propsToUpdate = getPropertiesToUpdate(dirtyFields);
updateString = generateUpdateString(propsToUpdate, oldFields);
//don't need to check property updatability (dirty checking algorithm handles that)
}
else {
propsToUpdate = getPropertyUpdateability();
updateString = getSQLUpdateString();
}
update(id, fields, oldFields, propsToUpdate, oldVersion, object, updateString, session);
}
开发者ID:parabuild-ci,项目名称:parabuild-ci,代码行数:22,代码来源:EntityPersister.java
示例3: bindNamedParameters
import net.sf.hibernate.HibernateException; //导入依赖的package包/类
protected int bindNamedParameters(PreparedStatement ps, Map namedParams, int start, SessionImplementor session)
throws SQLException, HibernateException {
if (namedParams != null) {
// assumes that types are all of span 1
Iterator iter = namedParams.entrySet().iterator();
int result = 0;
while ( iter.hasNext() ) {
Map.Entry e = (Map.Entry) iter.next();
String name = (String) e.getKey();
TypedValue typedval = (TypedValue) e.getValue();
int[] locs = getNamedParameterLocs(name);
for (int i = 0; i < locs.length; i++) {
typedval.getType().nullSafeSet(ps, typedval.getValue(), locs[i] + start, session);
}
result += locs.length;
}
return result;
}
else {
return 0;
}
}
开发者ID:parabuild-ci,项目名称:parabuild-ci,代码行数:23,代码来源:SQLLoader.java
示例4: getEntityIdentifierIfNotUnsaved
import net.sf.hibernate.HibernateException; //导入依赖的package包/类
/**
* Used by OneToOneType and ManyToOneType to determine what id value should be used for an
* object that may or may not be associated with the session. This does a "best guess" using
* any/all info available to use (not just the EntityEntry).
*/
public Serializable getEntityIdentifierIfNotUnsaved(Object object) throws HibernateException {
if (object == null) {
return null;
}
else {
if (object instanceof HibernateProxy) {
return HibernateProxyHelper.getLazyInitializer( (HibernateProxy) object ).getIdentifier();
}
else {
EntityEntry entry = getEntry(object);
if (entry!=null) {
return entry.id;
}
else {
Boolean isUnsaved = interceptor.isUnsaved(object);
if ( isUnsaved!=null && isUnsaved.booleanValue() ) throwTransientObjectException(object);
ClassPersister persister = getPersister(object);
if ( persister.isUnsaved(object) ) throwTransientObjectException(object);
return persister.getIdentifier(object);
}
}
}
}
开发者ID:parabuild-ci,项目名称:parabuild-ci,代码行数:30,代码来源:SessionImpl.java
示例5: getTypedValues
import net.sf.hibernate.HibernateException; //导入依赖的package包/类
public TypedValue[] getTypedValues(SessionFactoryImplementor sessionFactory, Class persistentClass, Map aliasClasses)
throws HibernateException {
ArrayList list = new ArrayList();
Type type = getType(sessionFactory, persistentClass, propertyName, aliasClasses);
if ( type.isComponentType() ) {
AbstractComponentType actype = (AbstractComponentType) type;
Type[] types = actype.getSubtypes();
for ( int i=0; i<types.length; i++ ) {
for ( int j=0; j<values.length; j++ ) {
Object subval = values[j]==null ?
null :
actype.getPropertyValues( values[j] )[i];
list.add( new TypedValue( types[i], subval ) );
}
}
}
else {
for ( int j=0; j<values.length; j++ ) {
list.add( new TypedValue( type, values[j] ) );
}
}
return (TypedValue[]) list.toArray( new TypedValue[ list.size() ] );
}
开发者ID:parabuild-ci,项目名称:parabuild-ci,代码行数:24,代码来源:InExpression.java
示例6: hydrate
import net.sf.hibernate.HibernateException; //导入依赖的package包/类
/**
* Unmarshall the fields of a persistent instance from a result set,
* without resolving associations or collections
*/
private Object[] hydrate(
final ResultSet rs,
final Serializable id,
final Object object,
final Loadable persister,
final SessionImplementor session,
final String[][] suffixedPropertyColumns)
throws SQLException, HibernateException {
if ( log.isTraceEnabled() ) log.trace("Hydrating entity: " + persister.getClassName() + '#' + id);
Type[] types = persister.getPropertyTypes();
Object[] values = new Object[ types.length ];
for (int i=0; i<types.length; i++) {
values[i] = types[i].hydrate(rs, suffixedPropertyColumns[i], session, object);
}
return values;
}
开发者ID:parabuild-ci,项目名称:parabuild-ci,代码行数:24,代码来源:Loader.java
示例7: saveChangeList
import net.sf.hibernate.HibernateException; //导入依赖的package包/类
private int saveChangeList(final ChangeList chl, final Session session) throws HibernateException {
session.saveOrUpdate(chl);
// set synthetic change list number if necessary
final int changeListID = chl.getChangeListID();
if (StringUtils.isBlank(chl.getNumber())) {
chl.setNumber(Integer.toString(changeListID));
session.saveOrUpdate(chl);
}
for (final Iterator iter = chl.getChanges().iterator(); iter.hasNext(); ) {
final Change ch = (Change) iter.next();
if (ch.getChangeListID() == ChangeList.UNSAVED_ID) {
ch.setChangeListID(changeListID);
}
session.saveOrUpdate(ch);
}
return changeListID;
}
开发者ID:parabuild-ci,项目名称:parabuild-ci,代码行数:18,代码来源:ConfigurationManager.java
示例8: initializeNonLazyCollections
import net.sf.hibernate.HibernateException; //导入依赖的package包/类
public void initializeNonLazyCollections() throws HibernateException {
if (loadCounter==0) {
log.debug( "initializing non-lazy collections");
//do this work only at the very highest level of the load
loadCounter++; //don't let this method be called recursively
try {
int size;
while( ( size=nonlazyCollections.size() ) > 0 ) {
//note that each iteration of the loop may add new elements
( (PersistentCollection) nonlazyCollections.remove(size-1) ).forceInitialization();
}
}
finally {
loadCounter--;
}
}
}
开发者ID:parabuild-ci,项目名称:parabuild-ci,代码行数:18,代码来源:SessionImpl.java
示例9: getType
import net.sf.hibernate.HibernateException; //导入依赖的package包/类
protected static Type getType(
SessionFactoryImplementor sessionFactory,
Class persistentClass,
String property,
Map aliasClasses)
throws HibernateException {
if ( property.indexOf('.')>0 ) {
String root = StringHelper.root(property);
Class clazz = (Class) aliasClasses.get(root);
if (clazz!=null) {
persistentClass = clazz;
property = property.substring( root.length()+1 );
}
}
return getPropertyMapping(persistentClass, sessionFactory).toType(property);
}
开发者ID:parabuild-ci,项目名称:parabuild-ci,代码行数:18,代码来源:AbstractCriterion.java
示例10: identityRemove
import net.sf.hibernate.HibernateException; //导入依赖的package包/类
static void identityRemove(Collection list, Object object, SessionImplementor session)
throws HibernateException {
if ( object!=null && session.isSaved(object) ) {
Serializable idOfCurrent = session.getEntityIdentifierIfNotUnsaved(object);
Iterator iter = list.iterator();
while ( iter.hasNext() ) {
Serializable idOfOld = session.getEntityIdentifierIfNotUnsaved( iter.next() );
if ( idOfCurrent.equals(idOfOld) ) {
iter.remove();
break;
}
}
}
}
开发者ID:parabuild-ci,项目名称:parabuild-ci,代码行数:18,代码来源:PersistentCollection.java
示例11: buildSQLExceptionConverter
import net.sf.hibernate.HibernateException; //导入依赖的package包/类
/**
* Build a SQLExceptionConverter instance.
* <p/>
* First, looks for a {@link Environment.SQL_EXCEPTION_CONVERTER} property to see
* if the configuration specified the class of a specific converter to use. If this
* property is set, attempt to construct an instance of that class. If not set, or
* if construction fails, the converter specific to the dialect will be used.
*
* @param dialect The defined dialect.
* @param properties The configuration properties.
* @return An appropriate SQLExceptionConverter instance.
* @throws HibernateException There was an error building the SQLExceptionConverter.
*/
public static SQLExceptionConverter buildSQLExceptionConverter(Dialect dialect, Properties properties) throws HibernateException {
SQLExceptionConverter converter = null;
String converterClassName = (String) properties.get(Environment.SQL_EXCEPTION_CONVERTER);
if (StringHelper.isNotEmpty(converterClassName)) {
converter = constructConverter(converterClassName, dialect.getViolatedConstraintNameExtracter());
}
if (converter == null) {
log.trace("Using dialect defined converter");
converter = dialect.buildSQLExceptionConverter();
}
if (converter instanceof Configurable) {
try {
((Configurable) converter).configure(properties);
} catch (HibernateException e) {
log.warn("Unable to configure SQLExceptionConverter", e);
throw e;
}
}
return converter;
}
开发者ID:parabuild-ci,项目名称:parabuild-ci,代码行数:38,代码来源:SQLExceptionConverterFactory.java
示例12: doUpdate
import net.sf.hibernate.HibernateException; //导入依赖的package包/类
private void doUpdate(Object object, Serializable id, ClassPersister persister) throws HibernateException {
if ( !persister.isMutable() ) {
log.trace("immutable instance passed to doUpdate(), locking");
reassociate(object, id, persister);
}
else {
doUpdateMutable(object, id, persister);
}
cascading++;
try {
Cascades.cascade(this, persister, object, Cascades.ACTION_SAVE_UPDATE, Cascades.CASCADE_ON_UPDATE); // do cascade
}
finally {
cascading--;
}
}
开发者ID:parabuild-ci,项目名称:parabuild-ci,代码行数:20,代码来源:SessionImpl.java
示例13: update
import net.sf.hibernate.HibernateException; //导入依赖的package包/类
/**
* Update an object
*/
public void update(Serializable id, Object[] fields, int[] dirtyFields, Object[] oldFields, Object oldVersion, Object object, SessionImplementor session) throws HibernateException {
final boolean[] tableUpdateNeeded = getTableUpdateNeeded(dirtyFields);
final String[] updateStrings;
final boolean[] propsToUpdate;
if ( useDynamicUpdate() && dirtyFields!=null ) {
// decide which columns we really need to update
propsToUpdate = getPropertiesToUpdate(dirtyFields);
updateStrings = generateUpdateStrings(propsToUpdate);
}
else {
// just update them all
propsToUpdate = getPropertyUpdateability();
updateStrings = getSQLUpdateStrings();
}
update(id, fields, propsToUpdate, tableUpdateNeeded, oldVersion, object, updateStrings, session);
}
开发者ID:parabuild-ci,项目名称:parabuild-ci,代码行数:23,代码来源:NormalizedEntityPersister.java
示例14: toString
import net.sf.hibernate.HibernateException; //导入依赖的package包/类
/**
* @param entity an actual entity object, not a proxy!
*/
public String toString(Object entity) throws HibernateException {
ClassMetadata cm = factory.getClassMetadata( entity.getClass() );
if ( cm==null ) return entity.getClass().getName();
Map result = new HashMap();
if ( cm.hasIdentifierProperty() ) {
result.put(
cm.getIdentifierPropertyName(),
cm.getIdentifierType().toString( cm.getIdentifier(entity), factory )
);
}
Type[] types = cm.getPropertyTypes();
String[] names = cm.getPropertyNames();
Object[] values = cm.getPropertyValues(entity);
for ( int i=0; i<types.length; i++ ) {
result.put( names[i], types[i].toString( values[i], factory ) );
}
return cm.getMappedClass().getName() + result.toString();
}
开发者ID:parabuild-ci,项目名称:parabuild-ci,代码行数:26,代码来源:Printer.java
示例15: iterateFilter
import net.sf.hibernate.HibernateException; //导入依赖的package包/类
public Iterator iterateFilter(Object collection, String filter, QueryParameters queryParameters) throws HibernateException {
String[] concreteFilters = QueryTranslator.concreteQueries(filter, factory);
FilterTranslator[] filters = new FilterTranslator[ concreteFilters.length ];
for ( int i=0; i<concreteFilters.length; i++ ) {
filters[i] = getFilterTranslator(collection, concreteFilters[i], queryParameters, true);
}
if (filters.length==0) return Collections.EMPTY_LIST.iterator();
Iterator result = null;
Iterator[] results = null;
boolean many = filters.length>1;
if (many) results = new Iterator[filters.length];
//execute the queries and return all results as a single iterator
for ( int i=0; i<filters.length; i++ ) {
try {
result = filters[i].iterate(queryParameters, this);
}
catch (SQLException sqle) {
throw convert( sqle, "Could not execute query" );
}
if ( many ) {
results[i] = result;
}
}
return many ? new JoinedIterator(results) : result;
}
开发者ID:parabuild-ci,项目名称:parabuild-ci,代码行数:35,代码来源:SessionImpl.java
示例16: put
import net.sf.hibernate.HibernateException; //导入依赖的package包/类
public void put(QueryKey key, Type[] returnTypes, List result, SessionImplementor session) throws HibernateException {
if ( log.isDebugEnabled() ) log.debug("caching query results in region: " + regionName);
List cacheable = new ArrayList( result.size()+1 );
cacheable.add( new Long( session.getTimestamp() ) );
for ( int i=0; i<result.size(); i++ ) {
if ( returnTypes.length==1 ) {
cacheable.add( returnTypes[0].disassemble( result.get(i), session ) );
}
else {
cacheable.add( TypeFactory.disassemble( (Object[]) result.get(i), returnTypes, session ) );
}
}
queryCache.put(key, cacheable);
}
开发者ID:parabuild-ci,项目名称:parabuild-ci,代码行数:15,代码来源:StandardQueryCache.java
示例17: execute
import net.sf.hibernate.HibernateException; //导入依赖的package包/类
/**
* Get the query results as a collection. JavaDoc requires a second sentence.
* @see org.odmg.OQLQuery#execute()
*/
public Object execute() throws QueryException {
//TODO: how are results meant to be returned in ODMG?
try {
return query.list();
}
catch (HibernateException he)
{
throw new QueryException( he.getMessage() );
}
}
开发者ID:parabuild-ci,项目名称:parabuild-ci,代码行数:15,代码来源:OQLQuery.java
示例18: getDialect
import net.sf.hibernate.HibernateException; //导入依赖的package包/类
/**
* Get the <tt>Dialect</tt> specified by the given properties or system properties.
* @param props
* @return Dialect
* @throws HibernateException
*/
public static Dialect getDialect(Properties props) throws HibernateException {
String dialectName = props.getProperty(Environment.DIALECT);
if (dialectName== null) return getDialect();
try {
return (Dialect) ReflectHelper.classForName(dialectName).newInstance();
}
catch (ClassNotFoundException cnfe) {
throw new HibernateException("Dialect class not found: " + dialectName);
}
catch (Exception e) {
throw new HibernateException( "Could not instantiate dialect class", e );
}
}
开发者ID:parabuild-ci,项目名称:parabuild-ci,代码行数:20,代码来源:Dialect.java
示例19: writeIndex
import net.sf.hibernate.HibernateException; //导入依赖的package包/类
/**
* Write the index to a JDBC <tt>PreparedStatement</tt>
*/
public void writeIndex(
PreparedStatement st,
Object idx,
boolean writeOrder,
SessionImplementor session)
throws HibernateException, SQLException;
开发者ID:parabuild-ci,项目名称:parabuild-ci,代码行数:10,代码来源:CollectionPersister.java
示例20: setTypeByReflection
import net.sf.hibernate.HibernateException; //导入依赖的package包/类
public void setTypeByReflection(Class propertyClass, String propertyName) throws MappingException {
try {
if (getType()==null) setType( TypeFactory.manyToOne(
ReflectHelper.reflectedPropertyClass(propertyClass, propertyName),
referencedPropertyName
) );
}
catch (HibernateException he) {
throw new MappingException( "Problem trying to set association type by reflection", he );
}
}
开发者ID:parabuild-ci,项目名称:parabuild-ci,代码行数:12,代码来源:ManyToOne.java
注:本文中的net.sf.hibernate.HibernateException类示例整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。 |
请发表评论