Annotation Type SQLInsert
-
@Target({TYPE,FIELD,METHOD}) @Retention(RUNTIME) @Repeatable(SQLInserts.class) public @interface SQLInsert
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 inserted 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 must come last.If a column should not be written as part of the insert statement, and has no corresponding JDBC parameter in the custom SQL, it must be mapped using
insertable=false
.A custom SQL insert 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 insert is executed unless
@Generated
is specified, forcing Hibernate to reread the state of the entity after each insert.Similarly, a custom insert 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 insert is executed unless
@Generated(writable=true)
is specified, again forcing Hibernate to reread the state of the entity after each insert.
-
-
Optional Element Summary
Optional Elements Modifier and Type Optional Element Description boolean
callable
Is the statement callable (aka aCallableStatement
)?ResultCheckStyle
check
For persistence operation what style of determining results (success/failure) is to be used.String
table
The name of the table in the case of an entity withsecondary tables
, defaults to the primary table.
-
-
-
Element Detail
-
sql
String sql
Procedure name or SQLINSERT
statement.
-
-
-
callable
boolean callable
Is the statement callable (aka aCallableStatement
)?- Default:
- false
-
-
-
check
ResultCheckStyle check
For persistence operation what style of determining results (success/failure) is to be used.- Default:
- org.hibernate.annotations.ResultCheckStyle.NONE
-
-
-
table
String table
The name of the table in the case of an entity withsecondary tables
, defaults to the primary table.- Returns:
- the name of the secondary table
- Since:
- 6.2
- Default:
- ""
-
-