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: 7.0.0.Beta3
Show newest version
/*
 * SPDX-License-Identifier: LGPL-2.1-or-later
 * Copyright Red Hat Inc. and Hibernate Authors
 */
package org.hibernate;

import static org.hibernate.internal.util.StringHelper.qualify;

import org.checkerframework.checker.nullness.qual.Nullable;

/**
 * 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( @Nullable 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() + ": '" + qualify( persistentClass.getName(), propertyName ) + "'" + ( wasSetter ? " (setter)" : " (getter)" ); } }




© 2015 - 2024 Weber Informatics LLC | Privacy Policy