JorisLog/2010/12/07: CreateDatabase.java

File CreateDatabase.java, 1.8 KB (added by jlops, 13 years ago)
Line 
1/*
2 * To change this template, choose Tools | Templates
3 * and open the template in the editor.
4 */
5
6package handwritten.importers;
7
8import java.io.BufferedReader;
9import java.io.IOException;
10import java.io.InputStreamReader;
11import java.sql.Connection;
12import java.sql.SQLException;
13import java.util.HashMap;
14import java.util.Map;
15import javax.persistence.EntityManager;
16import javax.persistence.EntityManagerFactory;
17import javax.persistence.Persistence;
18import org.hibernate.ejb.HibernateEntityManager;
19
20/**
21 *
22 * @author jorislops
23 */
24public class CreateDatabase {
25   
26    private CreateDatabase() {};
27
28    public static void main(String[] args) throws IOException, SQLException {
29        Map<String, Object> configOverrides = new HashMap<String, Object>();
30        configOverrides.put("hibernate.hbm2ddl.auto", "create-drop");
31        EntityManagerFactory emf =
32            Persistence.createEntityManagerFactory("molgenis4LIMS", configOverrides);
33
34        BufferedReader br =
35            new BufferedReader(
36                new InputStreamReader(
37                    new CreateDatabase().getClass()
38                        .getResourceAsStream("triggers.sql")));
39
40        StringBuilder trigger = new StringBuilder();
41        while(br.ready()) {
42            trigger.append(br.readLine()).append("\n");
43        }
44
45        EntityManager em = emf.createEntityManager();
46        System.out.println("Excute trigger: ");
47        System.out.println(trigger.toString());
48
49        ///em.getTransaction().begin();
50
51        Connection c = ((HibernateEntityManager) em).getSession().connection();
52        c.createStatement().execute(trigger.toString());
53
54//            int result = em.createNativeQuery(trigger.toString()).executeUpdate();
55//        em.getTransaction().commit();
56
57//        System.out.println("Result: " + result);
58        System.out.println("Database Created!");
59    }
60}