Estou trabalhando com JPA e Hibernate, mais não uso o SessionFactory nem o Session do Hibernate, uso o EntityManagerFactory e o EntityManager.
Mapeei as minhas classes e criei a estrutura do bando de dados (Mysql com a seguinte rotina)
EntityManagerFactory emf = Persistence.createEntityManagerFactory("banco");
EntityManager em = emf.createEntityManager();
em.getTransaction().begin();
em.getTransaction().commit();
em.close();
emf.close();
O meu problema é que no mysql ele gera as estrutouras conforme meu mapeamento da minhas classes de negócio, mais no FIrebird NÃO.
Meu persistence.xml
<persistence xmlns="http://java.sun.com/xml/ns/persistence"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/persistence http://java.sun.com/xml/ns/persistence/persistence_1_0.xsd"
version="1.0">
<persistence-unit name="banco">
<properties>
<property name="hibernate.hbm2ddl.auto" value="update"/>
<property name="hibernate.format_sql" value="true"></property>
<property name="hibernate.dialect" value="org.hibernate.dialect.MySQLDialect"/>
<property name="hibernate.connection.driver_class" value="com.mysql.jdbc.Driver"></property>
<property name="hibernate.connection.url" value="jdbc:mysql://localhost/banco"/>
<property name="hibernate.connection.username" value="root"></property>
<property name="hibernate.connection.password" value=""></property>
</properties>
</persistence-unit>
<persistence-unit name="banco2">
<properties>
<property name="hibernate.hbm2ddl.auto" value="update"/>
<property name="hibernate.format_sql" value="true"></property>
<property name="hibernate.dialect" value="org.hibernate.dialect.FirebirdDialect"/>
<property name="hibernate.connection.driver_class" value="org.firebirdsql.jdbc.FBDriver"></property>
<property name="hibernate.connection.url" value="jdbc:firebirdsql:localhost/3050:C:\\BANCO.gdb"/>
<property name="hibernate.connection.username" value="SYSDBA"></property>
<property name="hibernate.connection.password" value="masterkey"></property>
</properties>
</persistence-unit>
</persistence>
Nota: o jars nescessários estão no meu Classpath e já troquei também :
<property name="hibernate.hbm2ddl.auto" value="create"/>