The first question would be, "Is JDBC too much for me?"

If you are familiar with JDBC and frameworks built upon it (Hibernate, etc), then Derby's required configuration is definitely tiny by comparison. You can run an embedded database by just:
Once you get a JDBC Connection you can use it to execute CREATE TABLEs and the like, and then you're ready to go.

If you aren't familiar with JDBC (or think it is overkill as well), then maybe you could take a look at other persistent stores: the only one that comes to my mind right now is Prevayler, but I'm sure there are several others (I know of several NoSQL stores -- but if Derby is overkill for you then I suppose they will be too).

Just my 2 cents.

On Sat, Mar 3, 2012 at 7:51 PM, Kenneth McDonald <> wrote:
I need a very simple (even SQL is more than what I need) embedded database for some persistent stores. Derby seems like it would be ideal, except that even configuring seems to require more than what I need. In particular, I'm seeing in the docs that I need to edit my class path (which I shouldn't need to do for my purposes), that I may need to set up more complex configurations (than I need for my purposes), etc. etc. Can this be simplified?

More specifically; I have Derby downloaded and installed via Maven (actually via SBT in Scala). I want to run it as a purely embedded jar, to provide persistent store and dirt-simple queries. I don't want to worry about shell variables, CLIs, or any similar hooey--just the simplest possible SQL to store/access my data. Can I do this with Derby?

My comparison point is bdb the way bdb was under Python several versions ago--not the way bdb has become more recently. Can I achieve a similar level of simplicity?