Top Description Methods
org.hibernate.annotations

public @Interface SQLUpdate

extends Annotation
Annotations
@Target:TYPE, FIELD, METHOD
@Retention:RUNTIME
@Repeatable:SQLUpdates
Imports
java.lang.annotation.Repeatable, .Retention, .Target

Specifies a custom SQL DML statement to be used in place of the default SQL generated by Hibernate when an entity or collection row is updated in the database.

The given SQL statement must have exactly the number of JDBC ? parameters that Hibernate expects, that is, one for each column mapped by the entity, in the exact order Hibernate expects. In particular, the primary key columns come last unless the entity is versioned, in which case there must be a second JDBC parameter for the version column, which comes after the primary key.

If a column should not be written as part of the update statement, and has no corresponding JDBC parameter in the custom SQL, it must be mapped using updatable=false.

A custom SQL update statement might assign a value to a mapped column as it is written. In this case, the corresponding property of the entity remains unassigned after the update is executed unless @Generated(event=UPDATE) is specified, forcing Hibernate to reread the state of the entity after each update.

Similarly, a custom update statement might transform a mapped column value as it is written. In this case, the state of the entity held in memory loses synchronization with the database after the update is executed unless @Generated(event=UPDATE, writable=true) is specified, again forcing Hibernate to reread the state of the entity after each update.

Author
Laszlo Benke

Method Summary

Modifier and TypeMethod and Description
public boolean
callable()

Is the statement callable (aka a java.sql.CallableStatement)?

public ResultCheckStyle
check()

For persistence operation what style of determining results (success/failure) is to be used.

public String
sql()

Procedure name or SQL UPDATE statement.

public String

Returns:

the name of the table
table
()

The name of the table in the case of an entity with secondary tables, defaults to the primary table.

Inherited from java.lang.annotation.Annotation:
annotationTypeequalshashCodetoString

Method Detail

callableback to summary
public boolean callable()

Is the statement callable (aka a java.sql.CallableStatement)?

checkback to summary
public ResultCheckStyle check()

For persistence operation what style of determining results (success/failure) is to be used.

sqlback to summary
public String sql()

Procedure name or SQL UPDATE statement.

tableback to summary
public String table()

The name of the table in the case of an entity with secondary tables, defaults to the primary table.

Returns:String

the name of the table

Since
6.2