Annotation Interface MultiInsert


@Target(METHOD) @Retention(RUNTIME) public @interface MultiInsert
Indicates a multi-row insert operation.

The annotated method must be a member of a Dao annotated interface.

 @Entity
 public class Employee {
     ...
 }

 @Dao
 public interface EmployeeDao {

     @MultiInsert
     int insert(List<Employee> employees);
 }
 
The method may throw following exceptions:
  • Element Details

    • queryTimeout

      int queryTimeout
      The query timeout in seconds.

      If not specified, Config.getQueryTimeout() is used.

      Returns:
      the query timeout
      See Also:
      Default:
      -1
    • include

      String[] include
      The properties whose mapped columns are included in SQL INSERT statements.
      Returns:
      the included properties
      Default:
      {}
    • exclude

      String[] exclude
      The properties whose mapped columns are excluded from SQL INSERT statements.
      Returns:
      the excluded properties
      Default:
      {}
    • sqlLog

      SqlLogType sqlLog
      Returns:
      the output format of SQL logs.
      Default:
      FORMATTED
    • duplicateKeyType

      DuplicateKeyType duplicateKeyType
      This variable represents the type of duplicate key handling strategy for an insert operation. It can have one of three values:
      • UPDATE: If a duplicate key is encountered, the existing row in the table will be updated.
      • IGNORE: If a duplicate key is encountered, the insert operation will be ignored, and no changes will be made to the table.
      • EXCEPTION: If a duplicate key is encountered, the operation will throw an exception, indicating that a duplicate key exists.
      Returns:
      the type of duplicate key handling strategy for an insert operation.
      Default:
      EXCEPTION
    • duplicateKeys

      String[] duplicateKeys
      This variable represents the keys that should be used to determine if a duplicate key exists. If the duplicate key exists, the operation will use the duplicateKeyType() strategy to handle the duplicate key.

      Note: This value is only utilized when the duplicateKeyType() value is either DuplicateKeyType.UPDATE or DuplicateKeyType.IGNORE.

      Note: Certain DBMSs, such as MySQL, do not utilize this value.

      Returns:
      the keys that should be used to determine if a duplicate key exists.
      Default:
      {}
    • returning

      Returning returning
      Returns:
      the Returning annotation configuration, which defines inclusions or exclusions for returning values.
      Default:
      @org.seasar.doma.Returning