So, I have 2 classes that I am persisting in a file.
Code:
AnnotationConfiguration config = new AnnotationConfiguration();
config.setProperty("hibernate.dialect", org.hibernate.dialect.HSQLDialect").
setProperty("hibernate.connection.driver_class", "org.hsqldb.jdbcDriver");
config.setProperty("hibernate.connection.url", "jdbc:hsqldb:file:userdb;hsqldb.shutdown=true;hsqldb.default_table_type=cached")
.setProperty("hibernate.show_sql", "false")
.setProperty("shutdown", "true")
.setProperty("hibernate.hbm2ddl.auto", "update");
HibernateUtil.setSessionFactory(config.buildSessionFactory());
I have around 17Kb of actual data in the database [excluding overhead of serializing things and the hashmap classes,etc], but the storagedb.data is 128Mb. Now, I can remove the database, re enter all the same data and it is a much more reasonable size (a few meg, max). It seems that the .data just keeps growing. Does it seem like I am missing something obvious here? I'm not doing a 'shutdown compact' or anything else when I 'close' the database, would something along those lines be needed?
I am using Hibernate 3.2.2.ga, with Hibernate-Annotations 3.2.1.ga.
The database structure is pretty simple, one user has many objects. Inside an object, there is a serialized hashmap storing that object's options (a simple <string,string>). All other attributes are simple data types (string, int,etc).
Any insight or direction is welcome, I'm more than fine with a response along the lines 'go search about <x>', or a nice "RTFM" if I missed something.