org.hibernate.annotations.WhereJoinTable Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of beangle-hibernate-core Show documentation
Show all versions of beangle-hibernate-core Show documentation
Hibernate Orm Core Shade,Support Scala Collection
/*
* 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.annotations;
import java.lang.annotation.Retention;
import java.lang.annotation.Target;
import static java.lang.annotation.ElementType.FIELD;
import static java.lang.annotation.ElementType.METHOD;
import static java.lang.annotation.RetentionPolicy.RUNTIME;
/**
* Specifies a restriction written in native SQL to add to the generated SQL
* when querying the {@linkplain jakarta.persistence.JoinTable join table}
* of a collection.
*
* For example, @WhereJoinTable("status <> 'DELETED'")
* could be used to hide associations which have been soft-deleted from an
* association table.
*
* @apiNote This separate annotation is useful because it's possible to filter
* a many-to-many association both by a restriction on the
* join table, and, simultaneously, by a restriction on the
* associated entity table. The {@link Where @Where} annotation always
* filters entity tables.
*
* @author Emmanuel Bernard
*
* @see Where
*/
@Target({METHOD, FIELD})
@Retention(RUNTIME)
public @interface WhereJoinTable {
/**
* A predicate, written in native SQL.
*/
String clause();
}
© 2015 - 2024 Weber Informatics LLC | Privacy Policy