Pokud používáte Spring a Hibernate (pomocí JPA), pak můžete vygenerovat databázové schéma pomocí třídy SchemaExport následovně:
@RunWith(SpringJUnit4ClassRunner.class)
@ContextConfiguration("classpath:db-dev.xml")
public class SchemaExportTest {
@Autowired
private LocalContainerEntityManagerFactoryBean entityManagerFactory;
@SuppressWarnings("deprecation")
@Test
public void exportDatabaseSchema() {
PersistenceUnitInfo persistenceUnitInfo
= entityManagerFactory.getPersistenceUnitInfo();
MapjpaPropertyMap
= entityManagerFactory.getJpaPropertyMap(); Configuration configuration = new Ejb3Configuration()
.configure(persistenceUnitInfo, jpaPropertyMap)
.getHibernateConfiguration(); SchemaExport schema = new SchemaExport(configuration);
schema.setOutputFile("gen-schema.sql");
schema.create(false, false);
}
}
Poznámka 1: Konfigurace připojení do databáze je v souboru db-dev.xml, který je v classpath a používá se v něm třída LocalContainerEntityManagerFactoryBean.
Poznámka 2: Výsledný script se uloží do domovského adresáře projektu do souboru gen-schema.sql
Poznámka 3: Tento kód funguje pro Hibernate do verze 5 (která v době psaní tohoto článku doposud nevyšla. V této verzi Hibernate už nebude třída Ejb3Configuration, která se v tomto příkladě používá)
Školení mi pomohlo ujasnit si jak má správně probíhat testování kódu, představilo užitečné knihovny a nástroje. Vše bylo podáno zábavnou formou, takže nebyl problém udržet pozornost. Navíc byl výhodou dostatek času na dotazy ohledně probíraných témat.
Přestože jsem Cčkař, tak jsem se na školení JUnit dozvěděl nové věci. Zejména co se týče metodiky jednotkového testování a některých odborných termínů.
Jedno z nejlepších školení za poslední roky. Kromě seznámení se Springem apod. mě velmi příjemně překvapila hluboká znalost probírané látky a schopnost ji srozumitelně vysvětlit v případě ad hoc dotazů. Též oceňuji, že jsme se kromě probírané látky dozvěděli i spoustu dalších zajímavých věcí a trendů z IT. A důležitá byla také přátelská atmosféra školení.