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

org.hibernate.query.sqm.tree.from.SqmAttributeJoin Maven / Gradle / Ivy

There is a newer version: 7.0.0.Beta1
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 http://www.gnu.org/licenses/lgpl-2.1.html
 */
package org.hibernate.query.sqm.tree.from;

import org.hibernate.HibernateException;
import org.hibernate.query.criteria.JpaFetch;
import org.hibernate.query.criteria.JpaJoin;
import org.hibernate.query.sqm.SqmPathSource;
import org.hibernate.query.hql.spi.SqmCreationProcessingState;
import org.hibernate.query.sqm.tree.predicate.SqmPredicate;
import org.hibernate.type.descriptor.java.JavaTypeDescriptor;

/**
 * Models a join based on a mapped attribute reference.
 *
 * @author Steve Ebersole
 */
public interface SqmAttributeJoin extends SqmQualifiedJoin, JpaFetch, JpaJoin {
	@Override
	SqmFrom getLhs();

	@Override
	SqmPathSource getReferencedPathSource();

	@Override
	JavaTypeDescriptor getJavaTypeDescriptor();

	boolean isFetched();

	@Override
	SqmPredicate getJoinPredicate();

	void setJoinPredicate(SqmPredicate predicate);

	SqmAttributeJoin makeCopy(SqmCreationProcessingState creationProcessingState);

	class NotJoinableException extends HibernateException {
		public NotJoinableException(String message) {
			super( message );
		}

		public NotJoinableException(String message, Throwable cause) {
			super( message, cause );
		}
	}
}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy