package io.ebean; /** * An Insert Update or Delete statement. *
* Generally a named update will be defined on the entity bean. This will take * the form of either an actual sql insert update delete statement or a similar * statement with bean name and property names in place of database table and * column names. The statement will likely include named parameters. *
** The following is an example of named updates on an entity bean. *
*{@code
* ...
* @NamedUpdates(value = {
* @NamedUpdate(
* name = "setTitle",
* notifyCache = false,
* update = "update topic set title = :title, postCount = :count where id = :id"),
* @NamedUpdate(
* name = "setPostCount",
* notifyCache = false,
* update = "update f_topic set post_count = :postCount where id = :id"),
* @NamedUpdate(
* name = "incrementPostCount",
* notifyCache = false,
* update = "update Topic set postCount = postCount + 1 where id = :id")
* //update = "update f_topic set post_count = post_count + 1 where id = :id")
* })
* @Entity
* @Table(name = "f_topic")
* public class Topic {
* ...
* }
*
* * The following show code that would use a named update on the Topic entity * bean. *
**
{@code
*
* Update update = Ebean.createUpdate(Topic.class, "incrementPostCount");
* update.setParameter("id", 1);
* int rows = update.execute();
*
* }
*
* @param * If you don't set this Ebean will automatically invalidate the appropriate * parts of the "L2" server cache. *
*/ Update* This will typically result in a call to setQueryTimeout() on a * preparedStatement. If the timeout occurs an exception will be thrown - this * will be a SQLException wrapped up in a PersistenceException. *
* * @param secs the timeout in seconds. Zero implies unlimited. */ Update* position starts at value 1 (not 0) to be consistent with PreparedStatement. *
** Set a value for each ? you have in the sql. *
* * @param position the index position of the parameter starting with 1. * @param value the parameter value to bind. */ Update* position starts at value 1 (not 0) to be consistent with PreparedStatement. *
*/ Update* A more succinct version of setParameter() to be consistent with Query. *
* * @param name the parameter name. * @param value the parameter value. */ Update* A more succinct version of setNullParameter(). *
* * @param name the parameter name. * @param jdbcType the type of the property being bound. */ Update