public class ColumnCache
extends com.gitee.l0km.aocache.CompositeKeyCache<gu.sql2java.BaseBean>
implements com.gitee.l0km.aocache.AocacheRemovalListener<java.lang.Object[],gu.sql2java.BaseBean>
CompositeKeyCache实现以表的主键(PK)或唯一键(PK)为KEY数据缓存| 限定符和类型 | 字段和说明 |
|---|---|
protected boolean |
allowFullColumnUpdate
是否允许全列更新的标志位。
|
protected static boolean |
debug |
protected BaseTableManager<gu.sql2java.BaseBean> |
manager |
protected gu.sql2java.RowMetaData |
metaData |
protected com.gitee.l0km.aocache.UpdateStrategy |
updateStrategy
当前更新策略
|
| 限定符和类型 | 方法和说明 |
|---|---|
protected void |
checkArgs(java.lang.Object[] keys)
检查传入的键数组是否有效。
|
protected gu.sql2java.BaseBean |
compute(java.lang.Object[] keys) |
protected boolean |
doSynthesizeIntegralValue(gu.sql2java.BaseBean to,
gu.sql2java.BaseBean from)
执行将源对象
from 的属性值更新到目标对象 to 的操作。 |
boolean |
equals(java.lang.Object obj) |
protected java.lang.Object[] |
getArgs(gu.sql2java.BaseBean bean) |
gu.sql2java.BaseBean |
getBean(java.lang.Object... keys)
加载主键或索引(keys)指定的记录,如果缓存中没有则从数据库中查询
数据库中没有找到则抛出异常 |
gu.sql2java.BaseBean |
getBeanUnchecked(java.lang.Object... keys)
加载主键或索引(keys)指定的记录,如果缓存中没有则从数据库中查询
数据库中没有找到则返回 null |
BaseTableManager<gu.sql2java.BaseBean> |
getManager() |
int |
hashCode() |
protected boolean |
isValidArgs(java.lang.Object[] keys) |
protected gu.sql2java.BaseBean |
loadfromDatabase(java.lang.Object[] keys)
从数据库中加载外键指定的记录,没有找到指定的记录则抛出异常
ObjectRetrievalException |
protected static java.lang.Throwable |
onComputeException(com.gitee.l0km.aocache.CompositeKeyCache.ComputeException e)
处理计算缓存值时抛出的异常。
|
void |
onRemoval(com.gitee.l0km.aocache.AocacheRemovalListener.AocacheRemovalNotification<java.lang.Object[],gu.sql2java.BaseBean> notification) |
void |
remove(gu.sql2java.BaseBean bean)
删除cache中指定的记录
|
void |
removeCached(java.lang.Object... keys)
删除cache中索引(keys)指定的记录
|
static void |
setDebug(boolean debug)
set debug flag that determine if output log message,default : false
|
java.lang.String |
toString() |
void |
update(gu.sql2java.BaseBean bean)
根据默认更新策略向cache中更新数据
|
void |
update(gu.sql2java.BaseBean bean,
com.gitee.l0km.aocache.UpdateStrategy updateStrategy,
boolean completeBean)
根据指定的更新策略更新
bean到指定的缓存对象cacheMap |
checkArgs4Key, clearCache, getByNameIfPresent, getByNameIfPresent0, getCacheOrCompute, getCacheOrComputeByName, getCacheSizeByName, getChildCaches, getIfPresent, getIfPresentUncheck0, getIfPresentUncheck0, getName, hasValidArgs, isValidWrapKey, keysOfCache, onCacheDone, readLock, readUnlock, removeCache, removeCache, removeCacheByName, size, updateCache, writeLock, writeUnlockprotected static boolean debug
protected final gu.sql2java.RowMetaData metaData
protected final com.gitee.l0km.aocache.UpdateStrategy updateStrategy
protected final BaseTableManager<gu.sql2java.BaseBean> manager
protected final boolean allowFullColumnUpdate
是否允许全列更新的标志位。
该标志位的值根据表的元数据中是否存在自动更新列来确定,
如果表没有自动更新列,则允许全列更新。
protected java.lang.Object[] getArgs(gu.sql2java.BaseBean bean)
getArgs 在类中 com.gitee.l0km.aocache.CompositeKeyCache<gu.sql2java.BaseBean>protected boolean isValidArgs(java.lang.Object[] keys)
isValidArgs 在类中 com.gitee.l0km.aocache.CompositeKeyCache<gu.sql2java.BaseBean>protected void checkArgs(java.lang.Object[] keys)
throws gu.sql2java.exception.ObjectRetrievalException
该方法会检查键数组是否为 null,以及其长度是否与当前索引或主键的列数匹配。
如果键数组中存在 null 值,会抛出 ObjectRetrievalException 异常。
checkArgs 在类中 com.gitee.l0km.aocache.CompositeKeyCache<gu.sql2java.BaseBean>keys - 待检查的键数组,用于表示数据库记录的唯一索引或主键值。gu.sql2java.exception.ObjectRetrievalException - 如果键数组包含 null 值。protected boolean doSynthesizeIntegralValue(gu.sql2java.BaseBean to,
gu.sql2java.BaseBean from)
from 的属性值更新到目标对象 to 的操作。
如果表没有自动更新列,则遍历所有字段执行更新操作。
对于主键字段,如果源对象的主键值为空,则不更新目标对象的主键字段。
更新完成后,会对目标对象和源对象的修改标记进行重置。
doSynthesizeIntegralValue 在类中 com.gitee.l0km.aocache.CompositeKeyCache<gu.sql2java.BaseBean>to - 目标对象,用于接收更新后的属性值。from - 源对象,提供待更新的属性值。true,否则返回 false。protected gu.sql2java.BaseBean compute(java.lang.Object[] keys)
throws java.lang.Exception
compute 在类中 com.gitee.l0km.aocache.CompositeKeyCache<gu.sql2java.BaseBean>java.lang.Exceptionprotected gu.sql2java.BaseBean loadfromDatabase(java.lang.Object[] keys)
throws gu.sql2java.exception.RuntimeDaoException,
gu.sql2java.exception.ObjectRetrievalException
ObjectRetrievalExceptionkeys - gu.sql2java.exception.RuntimeDaoExceptiongu.sql2java.exception.ObjectRetrievalExceptionpublic gu.sql2java.BaseBean getBean(java.lang.Object... keys)
throws gu.sql2java.exception.ObjectRetrievalException
keys - value of primary or index keysgu.sql2java.exception.ObjectRetrievalExceptionpublic gu.sql2java.BaseBean getBeanUnchecked(java.lang.Object... keys)
nullkeys - primary keyspublic void remove(gu.sql2java.BaseBean bean)
public void removeCached(java.lang.Object... keys)
keys - value of primary or index keyspublic void update(gu.sql2java.BaseBean bean,
com.gitee.l0km.aocache.UpdateStrategy updateStrategy,
boolean completeBean)
bean到指定的缓存对象cacheMapupdateStrategy - 更新策略completeBean - bean是否为完整对象,如果是完整对象,则更新所有字段,否则只更新修改过的字段public void update(gu.sql2java.BaseBean bean)
public void onRemoval(com.gitee.l0km.aocache.AocacheRemovalListener.AocacheRemovalNotification<java.lang.Object[],gu.sql2java.BaseBean> notification)
onRemoval 在接口中 com.gitee.l0km.aocache.AocacheRemovalListener<java.lang.Object[],gu.sql2java.BaseBean>public BaseTableManager<gu.sql2java.BaseBean> getManager()
public int hashCode()
hashCode 在类中 java.lang.Objectpublic boolean equals(java.lang.Object obj)
equals 在类中 java.lang.Objectpublic java.lang.String toString()
toString 在类中 java.lang.Objectprotected static java.lang.Throwable onComputeException(com.gitee.l0km.aocache.CompositeKeyCache.ComputeException e)
throws gu.sql2java.exception.RuntimeDaoException,
gu.sql2java.exception.ObjectRetrievalException
该方法会尝试抛出异常的根本原因,如果根本原因是 ObjectRetrievalException 或 RuntimeDaoException,则直接抛出;
否则,将该异常作为结果返回。
e - 计算缓存值时抛出的异常对象,类型为 CompositeKeyCache.ComputeException。ObjectRetrievalException 或 RuntimeDaoException,则返回该根本异常;否则无返回值。gu.sql2java.exception.RuntimeDaoException - 如果异常的根本原因是 RuntimeDaoException。gu.sql2java.exception.ObjectRetrievalException - 如果异常的根本原因是 ObjectRetrievalException。public static void setDebug(boolean debug)
debug - flag for debug message outputCopyright © 2025. All Rights Reserved.