Hibernate + SQLite не могут создать таблицу

288
25 января 2018, 19:12

В моем проекте необходима база данных SQLite, с которой я буду работать через Hibernate. Работаю в Net Beans, ОС Ubuntu 17.10.

Вот мой тестовый мини-проект

hibernate.cfg.xml

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE hibernate-configuration PUBLIC "-//Hibernate/Hibernate Configuration DTD 3.0//EN" "http://hibernate.sourceforge.net/hibernate-configuration-3.0.dtd">
<hibernate-configuration>
  <session-factory>
    <property name="hibernate.connection.driver_class">org.sqlite.JDBC</property>
    <property name="hibernate.connection.url">jdbc:sqlite:stuff.db</property>
    <property name="hibernate.dialect">com.enigmabridge.hibernate.dialect.SQLiteDialect</property>
    <property name="hibernate.hbm2ddl.auto">create</property>
    <property name="hibernate.show_sql">true</property>
    <mapping resource="stuff/Stuff.hbm.xml"/>
  </session-factory>
</hibernate-configuration>

Класс Stuff:

package stuff;
public class Stuff {
    private Integer id;
    private String stuff;
    public Stuff() {
    }
    public Stuff(String stuff) {
        this.stuff = stuff;
    }
    public Integer getId() {
        return id;
    }
    public void setId(Integer id) {
        this.id = id;
    }
    public String getStuff() {
        return stuff;
    }
    public void setStuff(String stuff) {
        this.stuff = stuff;
    }
    @Override
    public String toString() {
        return "Stuff{" + "id=" + id + ", stuff=" + stuff + '}';
    }
}

Файл маппинга класса

<hibernate-mapping>
  <class name="stuff.Stuff" table="stuff">
      <id name="id" type="integer" column="id">
          <generator class="increment"/>
      </id>
      <property name="stuff" type="string" column="stuff"/>
  </class>
</hibernate-mapping>

И основная программа для тестов

package stuff;
import java.util.List;
import org.hibernate.Query;
import org.hibernate.Session;
public class Main {
    public static void main(String[] args) {
        Session session = HibernateUtil.getSessionFactory().openSession();
        session.beginTransaction();
        session.save(new Stuff("blah blah"));
        //Query q = session.createQuery("select from Stuff");
        //List<Stuff> l = q.list();
        //for (Stuff s:l)System.out.println(s);
        session.getTransaction().commit();
        session.close();
        System.exit(0);
    }
}

База данных создавалась через вкладку Службы в NetBeans. Имя базы - stuff.db.

Используется Hibernate 4.3 (JPA 2.1)

Диалект SQLite для Hibernate 4 взят отсюда.

База данных создается в домашней папке учетной записи убунты, Сессия проходит нормально, но почему-то в БД не создаются таблицы.

READ ALSO
Хостинг для Android приложения

Хостинг для Android приложения

Необходим бесплатный хостинг для апробации сервера на JavaТак же необходима поддержка SQLite или другой БД

254
Java Apache POI, разделить строку таблицы в docx файле

Java Apache POI, разделить строку таблицы в docx файле

Генерирую таблицу через Apache POI:

309
Launch4j не подгружает jar и dependecies

Launch4j не подгружает jar и dependecies

Всем привет, создала exe файл с помощью launch4j, все нормально, проект запускается, но есть некоторые части которые не работают без jar и dependencies,...

250
Реклама съедает память устройства

Реклама съедает память устройства

Решил я попробовать добавить в одно своё Activity рекламуВыбор упал на знаменитый AdMob

236