/** * ***************************************************************************** Copyright (c) 2008 - 2013 Oracle * Corporation. All rights reserved. * *
This program and the accompanying materials are made available under the terms of the Eclipse Public License v1.0 * and Eclipse Distribution License v. 1.0 which accompanies this distribution. The Eclipse Public License is available * at http://www.eclipse.org/legal/epl-v10.html and the Eclipse Distribution License is available at * http://www.eclipse.org/org/documents/edl-v10.php. * *
Contributors: Linda DeMichiel - Java Persistence 2.1 Linda DeMichiel - Java Persistence 2.0 * *
****************************************************************************
*/
package javax.persistence;
import static java.lang.annotation.ElementType.TYPE;
import static java.lang.annotation.RetentionPolicy.RUNTIME;
import java.lang.annotation.*;
/**
* Specifies whether an entity should be cached if caching is enabled when the value of the persistence.xml
* caching element is ENABLE_SELECTIVE or DISABLE_SELECTIVE. The value of the Cacheable
* annotation is inherited by subclasses; it can be overridden by specifying Cacheable on a
* subclass.
*
*
Cacheable(false) means that the entity and its state must not be cached by the provider.
*
* @since Java Persistence 2.0
* @deprecated replace by {@link org.redkale.persistence.Cacheable}
* @see org.redkale.persistence.Cacheable
*/
@Deprecated(since = "2.8.0")
@Target({TYPE})
@Retention(RUNTIME)
public @interface Cacheable {
/**
* (Optional) Whether or not the entity should be cached.
*
* @return boolean
*/
boolean value() default true;
/**
* (Optional) 定时自动更新缓存的周期秒数,为0表示不做定时更新, 大于0表示每经过interval秒后会自动从数据库中拉取数据更新Cache
*
* @return int
*/
int interval() default 0;
/**
* DataSource是否直接返回对象的真实引用, 而不是copy一份
*
* @return boolean
*/
boolean direct() default false;
}