!!! Od 1.6.2022 jsem nedostupný pro školení. Od té doby budu tvořit novou digitální banku v Komerční bance (a hrát si tam se Spring Boot, Docker, Kubernetes & Apache Kafka). Pokud by měl někdo zájem pokračovat ve školeních po mě, tak se mi ozvěte. Pokud by si někdo chtěl hrát s moderními technologiemi a pracovat v KB, tak se mi taky ozvěte :-) Na JavaDays (snad) opět budu, to si nenechám ujít :-) Letos (2022) očekávám, že budu mít v KB hodně práce než si všechno sedne. Přemýšlím, že bych v příštím roce uspořádal buď pár školení (zejména pro mé stálé a věrné zákazníky), anebo bych vytvořil nějakou novou konferenci nebo vymyslím nějaký jiný formát, protože je hromada lidí, které bych opět strašně moc rád viděl a považuji je za přátele. Časem (nejspíš v příštích pár měsících) vytvořím nový blog na separátní doméně a novinky Java a SQL školení dále rozšiřovat nebudu Je možné že se ke školením časem vrátím (nikdy neříkej nikdy), ale aktuálně budu kopat za tým KB :-) Pokud se něco změní, tak to dám včas vědět zde na webu a na blogu. !!!

Jak programově vygenerovat pomocí hbm2ddl DB schéma

publikováno: 11.5.2013

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();
Map<String, Object> jpaPropertyMap
= 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á)

Reference

Š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

Certicon
David

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ů.

Jaroslav

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ů.

Retia
Jaromír


Novinky

16.4.2022: Docker Desktop & High CPU usage

5.4.2022: Spring4Shell 0-day vulnerability

30.3.2022: Online důchodová kalkulačka
Do důchodu daleko, ale je dobré vědět co nás bude čekat a mít v dokumentech pořádek.