If you're ok with switching to the netbeans IDE here are two useful tutorials which I was able to get working in the ide (i'm having some minor issues with the installer). It uses JPA which is an abstraction that simplifies a lot of database interaction.
https://blogs.oracle.com/geertjan/entry/embedded_database_for_netbeans_platform
http://platform.netbeans.org/tutorials/nbm-crud.html
To address some of your inquiries:
- If you're using java and relation dbs i would highly recommend
JPA. Otherwise you are using JDBC to interact with your database and
using SQL.
- Traditionally you use a utility or run a script to
create the table schema however since you are going for embedded you
might be interested (as i am) in having the db and schema create it
self dynamically so you don't have to run this script every time you
install your application. This is doable with derby's embedded JPA
configuration which the tutorial covers.
- if you are running an
embedded derby database there is no separate thread or socket that
you start up. you app will use the jpa or derby api which will use
file locking to access the derby files. In my definition an embedded
database does not have a separate thread or process listening on a socket
handling multiple request.
Hope this helps and Good luck!