/* * Hibernate, Relational Persistence for Idiomatic Java * * License: GNU Lesser General Public License (LGPL), version 2.1 or later. * See the lgpl.txt file in the root directory or <http://www.gnu.org/licenses/lgpl-2.1.html>. */ package org.hibernate.jpa.test.ejb3configuration; import javax.persistence.EntityManagerFactory; import java.util.Collections; import org.hibernate.cfg.AvailableSettings; import org.hibernate.jpa.boot.internal.EntityManagerFactoryBuilderImpl; import org.hibernate.jpa.boot.spi.Bootstrap; import org.hibernate.jpa.test.MyNamingStrategy; import org.hibernate.jpa.test.PersistenceUnitInfoAdapter; import org.hibernate.testing.junit4.BaseUnitTestCase; import org.junit.Test; import static org.hibernate.testing.junit4.ExtraAssertions.assertTyping; import static org.junit.Assert.assertEquals; /** * @author Gail Badner */ public class NamingStrategyConfigurationTest extends BaseUnitTestCase { @Test public void testNamingStrategyFromProperty() { // configure NamingStrategy { PersistenceUnitInfoAdapter adapter = new PersistenceUnitInfoAdapter(); EntityManagerFactoryBuilderImpl builder = (EntityManagerFactoryBuilderImpl) Bootstrap.getEntityManagerFactoryBuilder( adapter, Collections.singletonMap( AvailableSettings.PHYSICAL_NAMING_STRATEGY, MyNamingStrategy.class.getName() ) ); final EntityManagerFactory emf = builder.build(); try { assertEquals( MyNamingStrategy.class.getName(), builder.getConfigurationValues().get( AvailableSettings.PHYSICAL_NAMING_STRATEGY ) ); assertTyping( MyNamingStrategy.class, builder.getMetadata().getMetadataBuildingOptions().getPhysicalNamingStrategy() ); }finally { if(emf != null){ emf.close(); } } } } }