Oracle comes at a price - my understanding of the basic license is that if you use it outside of a development environment you pay, and its pricey, so if you foresee your project expanding in this manner it is something to consider. JDBC is a common lower level method with databases, whichever you choose, so Oracle doesn't provide much on top. PostgreSQL, MySQL, Derby, etc...are other common databases one can use. And like Json mentioned, if you want to distribute the database with the app rather than having an app server, there are those (such as Derby) with advantages over the others