下面列出了org.hibernate.engine.SessionImplementor#bestGuessEntityName ( ) 实例代码,或者点击链接到github查看源代码,也可以在右侧发表评论。
public Object replace(
Object original,
Object target,
SessionImplementor session,
Object owner,
Map copyCache)
throws HibernateException {
if (original==null) {
return null;
}
else {
String entityName = session.bestGuessEntityName(original);
Serializable id = ForeignKeys.getEntityIdentifierIfNotUnsaved(
entityName,
original,
session
);
return session.internalLoad(
entityName,
id,
false,
false
);
}
}
public void nullSafeSet(PreparedStatement st, Object value, int index, boolean[] settable, SessionImplementor session)
throws HibernateException, SQLException {
Serializable id;
String entityName;
if (value==null) {
id=null;
entityName=null;
}
else {
entityName = session.bestGuessEntityName(value);
id = ForeignKeys.getEntityIdentifierIfNotUnsaved(entityName, value, session);
}
// metaType is assumed to be single-column type
if ( settable==null || settable[0] ) {
metaType.nullSafeSet(st, entityName, index, session);
}
if (settable==null) {
identifierType.nullSafeSet(st, id, index+1, session);
}
else {
boolean[] idsettable = new boolean[ settable.length-1 ];
System.arraycopy(settable, 1, idsettable, 0, idsettable.length);
identifierType.nullSafeSet(st, id, index+1, idsettable, session);
}
}
public Serializable disassemble(Object value, SessionImplementor session, Object owner)
throws HibernateException {
return value==null ?
null :
new ObjectTypeCacheEntry(
session.bestGuessEntityName(value),
ForeignKeys.getEntityIdentifierIfNotUnsaved(
session.bestGuessEntityName(value), value, session
)
);
}
public Object getPropertyValue(Object component, int i, SessionImplementor session)
throws HibernateException {
return i==0 ?
session.bestGuessEntityName(component) :
getIdentifier(component, session);
}
public Object[] getPropertyValues(Object component, SessionImplementor session)
throws HibernateException {
return new Object[] { session.bestGuessEntityName(component), getIdentifier(component, session) };
}