javax.persistence.Cache#javax.persistence.metamodel.Metamodel源码实例Demo

下面列出了javax.persistence.Cache#javax.persistence.metamodel.Metamodel 实例代码,或者点击链接到github查看源代码,也可以在右侧发表评论。

源代码1 项目: Knowage-Server   文件: JPAPersistenceManager.java
public EntityType getTargetEntity(RegistryConfiguration registryConf, EntityManager entityManager) {

		EntityType targetEntity;

		String targetEntityName = getTargetEntityName(registryConf);

		Metamodel classMetadata = entityManager.getMetamodel();
		Iterator it = classMetadata.getEntities().iterator();

		targetEntity = null;
		while (it.hasNext()) {
			EntityType entity = (EntityType) it.next();
			String jpaEntityName = entity.getName();

			if (entity != null && jpaEntityName.equals(targetEntityName)) {
				targetEntity = entity;
				break;
			}
		}

		return targetEntity;
	}
 
源代码2 项目: Knowage-Server   文件: JPAModelStructureBuilder.java
private void addRootEntities(ModelStructure modelStructure) {
	Metamodel jpaMetamodel;
	Set<EntityType<?>> jpaEntities;

	String modelName = getDataSource().getConfiguration().getModelName();

	jpaMetamodel = getEntityManager().getMetamodel();
	jpaEntities = jpaMetamodel.getEntities();
	logger.debug("Jpa metamodel contains [" + jpaEntities.size() + "] entity types");

	for (EntityType<?> entityType : jpaEntities) {
		logger.debug("Adding entity type [" + entityType + "] to model structure");
		String entityTypeName = entityType.getJavaType().getName();
		addEntity(modelStructure, modelName, entityTypeName);
		logger.info("Entity type [" + entityType + "] succesfully added to model structure");
	}
}
 
源代码3 项目: mycore   文件: MCRJPABootstrapper.java
@Override
public void startUp(ServletContext servletContext) {
    try {
        initializeJPA();
    } catch (PersistenceException e) {
        //fix for MCR-1236
        if (MCRConfiguration2.getBoolean("MCR.Persistence.Database.Enable").orElse(true)) {
            LogManager.getLogger()
                .error(() -> "Could not initialize JPA. Database access is disabled in this session.", e);
            MCRConfiguration2.set("MCR.Persistence.Database.Enable", String.valueOf(false));
        }
        MCREntityManagerProvider.init(e);
        return;
    }
    Metamodel metamodel = MCREntityManagerProvider.getEntityManagerFactory().getMetamodel();
    checkHibernateMappingConfig(metamodel);
    LogManager.getLogger()
        .info("Mapping these entities: {}", metamodel.getEntities()
            .stream()
            .map(EntityType::getJavaType)
            .map(Class::getName)
            .collect(Collectors.toList()));
    MCRShutdownHandler.getInstance().addCloseable(new MCRJPAShutdownProcessor());
}
 
源代码4 项目: mycore   文件: MCRJPABootstrapper.java
private void checkHibernateMappingConfig(Metamodel metamodel) {
    Set<String> mappedEntities = metamodel
        .getEntities()
        .stream()
        .map(EntityType::getJavaType)
        .map(Class::getName)
        .collect(Collectors.toSet());
    List<String> unMappedEntities = MCRConfiguration2.getString("MCR.Hibernate.Mappings")
        .map(MCRConfiguration2::splitValue)
        .orElseGet(Stream::empty)
        .filter(cName -> !mappedEntities.contains(cName))
        .collect(Collectors.toList());
    if (!unMappedEntities.isEmpty()) {
        throw new MCRException(
            "JPA Mapping is inclomplete. Could not find a mapping for these classes: " + unMappedEntities);
    }
}
 
源代码5 项目: olingo-odata2   文件: ODataJPAContextMock.java
private static EntityManager mockEntityManager() {
  EntityManager em = EasyMock.createMock(EntityManager.class);
  Metamodel mm = EasyMock.createMock(Metamodel.class);
  EasyMock.expect(em.getMetamodel()).andReturn(mm).anyTimes();
  Set<EntityType<?>> et = new HashSet<EntityType<?>>();
  EasyMock.expect(mm.getEntities()).andReturn(et).anyTimes();
  EasyMock.expect(em.isOpen()).andReturn(true).anyTimes();
  Query jpqlquery = EasyMock.createMock(Query.class);
  Capture<String> capturedArgument = new Capture<String>();
  EasyMock.expect(em.createQuery(EasyMock.capture(capturedArgument))).andReturn(jpqlquery).anyTimes();
  EasyMock.expect(jpqlquery.setParameter(EasyMock.anyInt(), EasyMock.anyObject()))
      .andReturn(jpqlquery).anyTimes();
  EasyMock.expect(jpqlquery.setParameter(EasyMock.anyInt(), (Calendar) EasyMock.anyObject(), 
      EasyMock.anyObject(TemporalType.TIMESTAMP.getClass()))).andReturn(jpqlquery).anyTimes();
  EasyMock.expect(jpqlquery.setParameter(EasyMock.anyInt(), (Time) EasyMock.anyObject(), 
      EasyMock.anyObject(TemporalType.TIME.getClass()))).andReturn(jpqlquery).anyTimes();
  List<Object> result = new ArrayList<Object>();
  result.add(5);
  EasyMock.expect(jpqlquery.getResultList()).andReturn(result).anyTimes();
  EasyMock.replay(em, mm, jpqlquery);
  return em;

}
 
private List<Class<?>> getAllManagedEntityTypes(EntityManagerFactory entityManagerFactory) {
	List<Class<?>> entityClasses = new ArrayList<>();
	Metamodel metamodel = entityManagerFactory.getMetamodel();

	for (ManagedType<?> managedType : metamodel.getManagedTypes())
		if (managedType.getJavaType().isAnnotationPresent(Entity.class))
			entityClasses.add(managedType.getJavaType());

	return entityClasses;
}
 
源代码7 项目: webanno   文件: EntityModel.java
private void analyze(T aObject)
{
    if (aObject != null) {
        entityClass = HibernateProxyHelper.getClassWithoutInitializingProxy(aObject);

        String idProperty = null;
        Metamodel metamodel = getEntityManager().getMetamodel();
        EntityType entity = metamodel.entity(entityClass);
        Set<SingularAttribute> singularAttributes = entity.getSingularAttributes();
        for (SingularAttribute singularAttribute : singularAttributes) {
            if (singularAttribute.isId()) {
                idProperty = singularAttribute.getName();
                break;
            }
        }
        if (idProperty == null) {
            throw new RuntimeException("id field not found");
        }

        DirectFieldAccessor accessor = new DirectFieldAccessor(aObject);
        id = (Number) accessor.getPropertyValue(idProperty);
    }
    else {
        entityClass = null;
        id = null;
    }
}
 
源代码8 项目: tomee   文件: JtaEntityManager.java
public Metamodel getMetamodel() {
    final EntityManager entityManager = getEntityManager();
    try {
        final Timer timer = Op.getMetamodel.start(this.timer, this);
        try {
            return entityManager.getMetamodel();
        } finally {
            timer.stop();
        }
    } finally {
        closeIfNoTx(entityManager);
    }
}
 
源代码9 项目: elexis-3-core   文件: AbstractModelService.java
private <T> String getTableName(EntityManager em, Class<T> entityClass){
	/*
	 * Check if the specified class is present in the metamodel.
	 * Throws IllegalArgumentException if not.
	 */
	Metamodel meta = em.getMetamodel();
	EntityType<T> entityType = meta.entity(entityClass);
	
	//Check whether @Table annotation is present on the class.
	Table t = entityClass.getAnnotation(Table.class);
	
	String tableName = (t == null) ? entityType.getName().toUpperCase() : t.name();
	return tableName;
}
 
@Override
public Metamodel getMetamodel() {
	return delegate.getMetamodel();
}
 
@Override
public Metamodel getMetamodel() {
	return delegate.getMetamodel();
}
 
源代码12 项目: quarkus   文件: TransactionScopedEntityManager.java
@Override
public Metamodel getMetamodel() {
    try (EntityManagerResult emr = getEntityManager()) {
        return emr.em.getMetamodel();
    }
}
 
源代码13 项目: quarkus   文件: ForwardingEntityManager.java
@Override
public Metamodel getMetamodel() {
    return delegate().getMetamodel();
}
 
源代码14 项目: jweb-cms   文件: TransactionalEntityManager.java
@Override
public Metamodel getMetamodel() {
    return em.getMetamodel();
}
 
源代码15 项目: marathonv5   文件: InitialLoadEntityManagerProxy.java
@Override
public Metamodel getMetamodel() {
    return em.getMetamodel();
}
 
源代码16 项目: marathonv5   文件: InitialLoadEntityManagerProxy.java
@Override
public Metamodel getMetamodel() {
    return em.getMetamodel();
}
 
源代码17 项目: lams   文件: SessionDelegatorBaseImpl.java
@Override
public Metamodel getMetamodel() {
	return delegate.getMetamodel();
}
 
public Attribute getIdAttribute(EntityManager em, Class<T> clazz) {
    Metamodel m = em.getMetamodel();
    IdentifiableType<T> of = (IdentifiableType<T>) m.managedType(clazz);
    return of.getId(of.getIdType().getJavaType());
}
 
源代码19 项目: Knowage-Server   文件: JPAModelStructureBuilder.java
/**
 * This method adds the normal fields to the model entry structure
 *
 * @param modelEntity: the model entity to complete adding normal fields
 *
 * @return a list of entities in ONE_TO_MANY relationship with the entity passed in as parameter (i.e. entities whose input entity is related to by means of
 *         e foreign key - MANY_TO_ONE relatioship)
 */
public List<IModelEntity> addNormalFields(IModelEntity modelEntity) {

	logger.debug("Adding the field " + modelEntity.getName());
	List<IModelEntity> subEntities = new ArrayList<IModelEntity>();
	EntityType thisEntityType = null;

	Metamodel classMetadata = getEntityManager().getMetamodel();

	for (Iterator it = classMetadata.getEntities().iterator(); it.hasNext();) {
		EntityType et = (EntityType) it.next();
		if (et.getJavaType().getName().equals(modelEntity.getType())) {
			thisEntityType = et;
			break;
		}
	}

	if (thisEntityType == null) {
		return new ArrayList();
	}

	Set<Attribute> attributes = thisEntityType.getAttributes();
	Iterator<Attribute> attributesIt = attributes.iterator();

	while (attributesIt.hasNext()) {
		Attribute a = attributesIt.next();
		// normal attribute
		if (a.getPersistentAttributeType().equals(PersistentAttributeType.BASIC)) {
			addField(a, modelEntity, "");
		} else if (a.getPersistentAttributeType().equals(PersistentAttributeType.MANY_TO_ONE)) { // relation
			Class c = a.getJavaType();
			javax.persistence.JoinColumn joinColumn = null;
			String entityType = c.getName();
			String columnName = a.getName();
			String joinColumnnName = a.getName();
			String entityName = a.getName(); // getEntityNameFromEntityType(entityType);

			try {
				joinColumn = (((java.lang.reflect.Field) a.getJavaMember()).getAnnotation(javax.persistence.JoinColumn.class));
			} catch (Exception e) {
				logger.error("Error loading the join column annotation for entity " + entityName, e);
			}

			if (joinColumn != null) {
				joinColumnnName = joinColumn.name();
				// add in the entity a property that maps the column name with the join column
				modelEntity.getProperties().put(columnName, joinColumnnName);
			}

			IModelEntity subentity = new ModelEntity(entityName, null, columnName, entityType, modelEntity.getStructure());
			subEntities.add(subentity);
		} else if (a.getPersistentAttributeType().equals(PersistentAttributeType.EMBEDDED)) { // key
			Set<Attribute> keyAttre = ((EmbeddableType) ((SingularAttribute) a).getType()).getAttributes();
			Iterator<Attribute> keyIter = keyAttre.iterator();
			while (keyIter.hasNext()) {
				addField(keyIter.next(), modelEntity, a.getName() + ".");
			}
		}
	}

	logger.debug("Field " + modelEntity.getName() + " added");
	return subEntities;
}
 
源代码20 项目: sample-boot-micro   文件: OrmCriteria.java
/** エンティティのメタ情報を返します。 */
public Metamodel metamodel() {
    return metamodel;
}
 
源代码21 项目: springlets   文件: QueryDslRepositorySupportExt.java
private EntityType<T> getEntityMetaModel() {
  Metamodel metamodel = getEntityManager().getMetamodel();
  EntityType<T> entity = metamodel.entity(domainClass);
  return entity;
}
 
源代码22 项目: sample-boot-hibernate   文件: OrmCriteria.java
/** エンティティのメタ情報を返します。 */
public Metamodel metamodel() {
    return metamodel;
}
 
public Metamodel getMetamodel() {
    throw new UnsupportedOperationException("Not supported.");
}
 
public Metamodel getMetamodel() {
    throw new UnsupportedOperationException("Not supported.");
}
 
源代码25 项目: kumuluzee   文件: TxScopedEntityManager.java
@Override
public Metamodel getMetamodel() {

    return getEntityManager().getMetamodel();
}
 
源代码26 项目: kumuluzee   文件: SyncEntityManagerWrapper.java
@Override
public Metamodel getMetamodel() {
    return em.getMetamodel();
}
 
源代码27 项目: olingo-odata2   文件: JPAEdmModel.java
public JPAEdmModel(final Metamodel metaModel, final String pUnitName) {
  super(metaModel, pUnitName);
}
 
源代码28 项目: olingo-odata2   文件: JPAEdmBaseViewImpl.java
public JPAEdmBaseViewImpl(final Metamodel metaModel, final String pUnitName) {
  this.metaModel = metaModel;
  this.pUnitName = pUnitName;
}
 
源代码29 项目: olingo-odata2   文件: JPAEdmBaseViewImpl.java
@Override
public Metamodel getJPAMetaModel() {
  return metaModel;
}
 
private Metamodel mockMetaModel() {
  Metamodel metaModel = EasyMock.createMock(Metamodel.class);
  EasyMock.expect(metaModel.getEntities()).andStubReturn(getLocalEntities());
  EasyMock.replay(metaModel);
  return metaModel;
}