/******************************************************************************* * Copyright (c) 2005, 2014 springside.github.io * * Licensed under the Apache License, Version 2.0 (the "License"); *******************************************************************************/ package org.springside.examples.showcase.repository.jpa; import static org.assertj.core.api.Assertions.*; import javax.persistence.EntityManager; import javax.persistence.PersistenceContext; import javax.persistence.metamodel.EntityType; import javax.persistence.metamodel.Metamodel; import org.junit.Test; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.test.annotation.DirtiesContext; import org.springframework.test.context.ContextConfiguration; import org.springframework.test.context.transaction.TransactionConfiguration; import org.springside.modules.test.spring.SpringTransactionalTestCase; @DirtiesContext @ContextConfiguration(locations = { "/applicationContext.xml" }) // 如果存在多个transactionManager,可以需显式指定 @TransactionConfiguration(transactionManager = "transactionManager") public class JpaMappingTest extends SpringTransactionalTestCase { private static Logger logger = LoggerFactory.getLogger(JpaMappingTest.class); @PersistenceContext private EntityManager em; @Test public void allClassMapping() throws Exception { Metamodel model = em.getEntityManagerFactory().getMetamodel(); assertThat(model.getEntities()).as("No entity mapping found").isNotEmpty(); for (EntityType entityType : model.getEntities()) { String entityName = entityType.getName(); em.createQuery("select o from " + entityName + " o").getResultList(); logger.info("ok: " + entityName); } } }