Record Class DeleteRenderingPlan.JoinEmulation
java.lang.Object
java.lang.Record
org.hibernate.dialect.sql.ast.spi.DeleteRenderingPlan.JoinEmulation
- Record Components:
targetAlias- alias used to correlate the emulation, ornullfor the standard unaliased form
- All Implemented Interfaces:
DeleteRenderingPlan
- Enclosing interface:
DeleteRenderingPlan
public static record DeleteRenderingPlan.JoinEmulation(@Nullable String targetAlias)
extends Record
implements DeleteRenderingPlan
Move joins which cannot appear directly in the delete into a correlated
exists subquery in the where clause.
A joined semantic delete is rendered with the following general shape:
delete from book
where exists (
select 1
from author
where author.id = book.author_id and ...
)
When targetAlias is non-null, the target is declared using that alias and
the subquery includes a row-matching correlation between the target alias
and the target table reference in the emulated from clause. This form is
used by databases which require an explicit target alias to correlate the
emulation safely.
- Since:
- 8.0
-
Nested Class Summary
Nested classes/interfaces inherited from interface DeleteRenderingPlan
DeleteRenderingPlan.Direct, DeleteRenderingPlan.JoinEmulation -
Constructor Summary
ConstructorsConstructorDescriptionSelect the standard, unaliased join-emulation form.JoinEmulation(String targetAlias) Creates an instance of aJoinEmulationrecord class. -
Method Summary
Modifier and TypeMethodDescriptionfinal booleanIndicates whether some other object is "equal to" this one.final inthashCode()Returns a hash code value for this object.Returns the value of thetargetAliasrecord component.final StringtoString()Returns a string representation of this record class.
-
Constructor Details
-
JoinEmulation
public JoinEmulation()Select the standard, unaliased join-emulation form. -
JoinEmulation
Creates an instance of aJoinEmulationrecord class.- Parameters:
targetAlias- the value for thetargetAliasrecord component
-
-
Method Details
-
toString
-
hashCode
-
equals
Indicates whether some other object is "equal to" this one. The objects are equal if the other object is of the same class and if all the record components are equal. All components in this record class are compared withObjects::equals(Object,Object). -
targetAlias
Returns the value of thetargetAliasrecord component.- Returns:
- the value of the
targetAliasrecord component
-