When it comes to testing, you can't beat the convenience of an embedded database. It can be created, populated and cleaned up without any dependencies on outside infrastructure, making it ideal for self contained test suites. However, there is a very good chance that you don't use an embedded database in your production environment. In my case, I have a MySQL database in production, and want to use H2 in testing. Getting data from MySQL into H2 is not as straight forward as you might think. You might have some luck with CopyDB , Scriptella , or OpenDBCopy . But in the end I simply used mysqldump and a couple of hacks to get data from MySQL to H2. Dump the data Dump the data from MySQL with the following command: mysqldump --compatible=ansi,no_table_options,no_field_options,no_key_options --hex-blob --skip-opt -uroot -p Database > importansi.sql This will strip out most of the MySQL specific syntax and give you something that you can clean up for H2 to import....