//$Id: A320.java 14736 2008-06-04 14:23:42Z hardy.ferentschik $ package org.hibernate.test.annotations.onetoone.primarykey; import org.jboss.logging.Logger; import junit.framework.TestCase; import org.hibernate.cfg.AnnotationConfiguration; import org.hibernate.cfg.Environment; import org.hibernate.dialect.SQLServerDialect; import org.hibernate.service.ServiceRegistry; import org.hibernate.testing.ServiceRegistryBuilder; /** * Test harness for ANN-742. * * @author Hardy Ferentschik * */ public class NullablePrimaryKeyTest extends TestCase { private static final Logger log = Logger.getLogger( NullablePrimaryKeyTest.class ); public void testGeneratedSql() { ServiceRegistry serviceRegistry = null; try { AnnotationConfiguration config = new AnnotationConfiguration(); config.addAnnotatedClass(Address.class); config.addAnnotatedClass(Person.class); serviceRegistry = ServiceRegistryBuilder.buildServiceRegistry( Environment.getProperties() ); config.buildSessionFactory( serviceRegistry ); String[] schema = config .generateSchemaCreationScript(new SQLServerDialect()); for (String s : schema) { log.debug(s); } String expectedMappingTableSql = "create table personAddress (address_id numeric(19,0) null, " + "person_id numeric(19,0) not null, primary key (person_id))"; assertEquals("Wrong SQL", expectedMappingTableSql, schema[2]); } catch (Exception e) { fail(e.getMessage()); } finally { if ( serviceRegistry != null ) { ServiceRegistryBuilder.destroy( serviceRegistry ); } } } }