下面列出了怎么用org.hibernate.persister.entity.SingleTableEntityPersister的API类实例代码及写法,或者点击链接到github查看源代码。
public static void bindSubclass(Element node, Subclass subclass, Mappings mappings,
java.util.Map inheritedMetas) throws MappingException {
bindClass( node, subclass, mappings, inheritedMetas );
inheritedMetas = getMetas( node, inheritedMetas, true ); // get meta's from <subclass>
if ( subclass.getEntityPersisterClass() == null ) {
subclass.getRootClass()
.setEntityPersisterClass( SingleTableEntityPersister.class );
}
log.info(
"Mapping subclass: " + subclass.getEntityName() +
" -> " + subclass.getTable().getName()
);
// properties
createClassProperties( node, subclass, mappings, inheritedMetas );
}
public static EntityPersister createClassPersister(
PersistentClass model,
CacheConcurrencyStrategy cache,
SessionFactoryImplementor factory,
Mapping cfg)
throws HibernateException {
Class persisterClass = model.getEntityPersisterClass();
if (persisterClass==null || persisterClass==SingleTableEntityPersister.class) {
return new SingleTableEntityPersister(model, cache, factory, cfg);
}
else if (persisterClass==JoinedSubclassEntityPersister.class) {
return new JoinedSubclassEntityPersister(model, cache, factory, cfg);
}
else if (persisterClass==UnionSubclassEntityPersister.class) {
return new UnionSubclassEntityPersister(model, cache, factory, cfg);
}
else {
return create(persisterClass, model, cache, factory, cfg);
}
}
public Class<? extends EntityPersister> singleTableEntityPersister() {
return SingleTableEntityPersister.class;
}