@Target(value=METHOD) @Retention(value=RUNTIME) public @interface Insert
Dao method that inserts an instance of an Entity-annotated class.
 Example:
 @Dao
 public interface ProductDao {
   @Insert
   void insert(Product product);
 }
 
 If the query has a TTL and/or timestamp with placeholders, the method must have corresponding additional parameters (same name, and a compatible Java type):
@Insert(ttl = ":ttl") void insertWithTtl(Product product, int ttl);
A Function<BoundStatementBuilder, BoundStatementBuilder> or UnaryOperator<BoundStatementBuilder> can be added as the last
 parameter. It will be applied to the statement before execution. This allows you to customize
 certain aspects of the request (page size, timeout, etc) at runtime.
 
void.
   INSERT ... IF NOT EXISTS queries. The method
       will return null if the insertion succeeded, or the existing entity if it failed.
       
 @Insert(ifNotExists = true)
 Product insertIfNotExists(Product product);
       
   Optional of the entity class, as a null-safe alternative for INSERT ...
       IF NOT EXISTS queries.
       
 @Insert(ifNotExists = true)
 Optional<Product> insertIfNotExists(Product product);
       
   boolean or Boolean, which will be mapped to ResultSet.wasApplied(). This is intended for IF NOT EXISTS queries:
       
 @Insert(ifNotExists = true)
 boolean saveIfNotExists(Product product);
       
   ResultSet. This is intended for cases where you intend to inspect data associated
       with the result, such as PagingIterable.getExecutionInfo().
       
 @Insert
 ResultSet save(Product product);
       
   BoundStatement This is intended for cases where you intend to execute this
       statement later or in a batch:
       
 @Insert
 BoundStatement save(Product product);
      
   CompletionStage or CompletableFuture of any of the above. The mapper will
       execute the query asynchronously.
       
 @Insert
 CompletionStage<Void> insert(Product product);
 @Insert(ifNotExists = true)
 CompletableFuture<Product> insertIfNotExists(Product product);
 @Insert(ifNotExists = true)
 CompletableFuture<Optional<Product>> insertIfNotExists(Product product);
       
   ReactiveResultSet.
       
 @Insert
 ReactiveResultSet insertReactive(Product product);
       
   DaoFactory), then the generated
 query targets that keyspace. Otherwise, it doesn't specify a keyspace, and will only work if the
 mapper was built from a Session that has a default keyspace set.
 If a table was specified when creating the DAO, then the generated query targets that table. Otherwise, it uses the default table name for the entity (which is determined by the name of the entity class and the naming convention).
| Modifier and Type | Optional Element and Description | 
|---|---|
| boolean | ifNotExistsWhether to append an IF NOT EXISTS clause at the end of the generated INSERT query. | 
| NullSavingStrategy | nullSavingStrategyHow to handle null entity properties during the insertion. | 
| String | timestampThe timestamp to use in the generated INSERT query. | 
| String | ttlThe TTL (time to live) to use in the generated INSERT query. | 
public abstract boolean ifNotExists
public abstract String ttl
If this starts with ":", it is interpreted as a named placeholder (that must have a corresponding parameter in the method signature). Otherwise, it must be a literal integer value (representing a number of seconds).
If the placeholder name is invalid or the literal can't be parsed as an integer (according
 to the rules of Integer.parseInt(String)), the mapper will issue a compile-time
 warning.
public abstract String timestamp
If this starts with ":", it is interpreted as a named placeholder (that must have a corresponding parameter in the method signature). Otherwise, it must be literal long value (representing a number of microseconds since epoch).
If the placeholder name is invalid or the literal can't be parsed as a long (according to
 the rules of Long.parseLong(String)), the mapper will issue a compile-time warning.
public abstract NullSavingStrategy nullSavingStrategy
This defaults either to the DAO-level strategy (if set),
 or NullSavingStrategy.DO_NOT_SET.
Copyright © 2017–2023. All rights reserved.