- Type Parameters:
T
- the type of entity beans inserted updated or deleted
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.
...
@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.
Update<Topic> update = DB.createUpdate(Topic.class, "incrementPostCount");
update.setParameter("id", 1);
int rows = update.execute();
-
Method Summary
Modifier and TypeMethodDescriptionint
execute()
Execute the statement returning the number of rows modified.Return the sql that is actually executed.getName()
Return the name if it is a named update.Set an ordered bind parameter.Set a named parameter.Set a label meaning performance metrics will be collected for the execution of this update.setNotifyCache
(boolean notifyCache) Set this to false if you do not want the cache to invalidate related objects.setNull
(int position, int jdbcType) Set an ordered parameter that is null.Set a named parameter that is null.setNullParameter
(int position, int jdbcType) Set an ordered parameter that is null (same as bind).setNullParameter
(String name, int jdbcType) Bind a named parameter that is null (same as bind).setParameter
(int position, Object value) Set and ordered bind parameter (same as bind).setParameter
(String name, Object param) Bind a named parameter (same as bind).setTimeout
(int secs) Set a timeout for statement execution.
-
Method Details
-
getName
String getName()Return the name if it is a named update. -
setNotifyCache
Set this to false if you do not want the cache to invalidate related objects.If you don't set this Ebean will automatically invalidate the appropriate parts of the "L2" server cache.
-
setTimeout
Set a timeout for statement execution.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.
- Parameters:
secs
- the timeout in seconds. Zero implies unlimited.
-
execute
int execute()Execute the statement returning the number of rows modified. -
set
Set an ordered bind parameter.position starts at value 1 (not 0) to be consistent with PreparedStatement.
Set a value for each ? you have in the sql.
- Parameters:
position
- the index position of the parameter starting with 1.value
- the parameter value to bind.
-
setParameter
Set and ordered bind parameter (same as bind).- Parameters:
position
- the index position of the parameter starting with 1.value
- the parameter value to bind.
-
setNull
Set an ordered parameter that is null. The JDBC type of the null must be specified.position starts at value 1 (not 0) to be consistent with PreparedStatement.
-
setNullParameter
Set an ordered parameter that is null (same as bind). -
set
Set a named parameter. Named parameters have a colon to prefix the name.A more succinct version of setParameter() to be consistent with Query.
- Parameters:
name
- the parameter name.value
- the parameter value.
-
setParameter
Bind a named parameter (same as bind). -
setNull
Set a named parameter that is null. The JDBC type of the null must be specified.A more succinct version of setNullParameter().
- Parameters:
name
- the parameter name.jdbcType
- the type of the property being bound.
-
setNullParameter
Bind a named parameter that is null (same as bind). -
setLabel
Set a label meaning performance metrics will be collected for the execution of this update. -
getGeneratedSql
String getGeneratedSql()Return the sql that is actually executed.
-