All Downloads are FREE. Search and download functionalities are using the official Maven repository.

org.hibernate.PropertyAccessException Maven / Gradle / Ivy

There is a newer version: 6.6.2.Final
Show newest version
/*
 * Hibernate, Relational Persistence for Idiomatic Java
 *
 * License: GNU Lesser General Public License (LGPL), version 2.1 or later.
 * See the lgpl.txt file in the root directory or .
 */
package org.hibernate;

import org.hibernate.internal.util.StringHelper;

/**
 * A problem occurred accessing a property of an instance of a
 * persistent class by reflection, or via enhanced entities.
 * There are a number of possible underlying causes, including:
 * 
    *
  • failure of a security check, *
  • an exception occurring inside the getter or setter method, *
  • a nullable database column was mapped to a primitive-type * property, or *
  • the Hibernate type was not castable to the property type * (or vice-versa) *
* * @author Gavin King */ public class PropertyAccessException extends HibernateException { private final Class persistentClass; private final String propertyName; private final boolean wasSetter; /** * Constructs a {@code PropertyAccessException} using the specified information. * * @param cause The underlying cause * @param message A message explaining the exception condition * @param wasSetter Was the attempting to access the setter the cause of the exception? * @param persistentClass The class which is supposed to contain the property in question * @param propertyName The name of the property. */ public PropertyAccessException( Throwable cause, String message, boolean wasSetter, Class persistentClass, String propertyName) { super( message, cause ); this.persistentClass = persistentClass; this.wasSetter = wasSetter; this.propertyName = propertyName; } public Class getPersistentClass() { return persistentClass; } public String getPropertyName() { return propertyName; } protected String originalMessage() { return super.getMessage(); } @Override public String getMessage() { return originalMessage() + " : `" + StringHelper.qualify( persistentClass.getName(), propertyName ) + ( wasSetter ? "` (setter)" : "` (getter)" ); } }




© 2015 - 2024 Weber Informatics LLC | Privacy Policy