MIGRATEdb will parse an XML file of database changes and load them to the targeted database if they are not already there.
A database change consists of tests to determine whether the change has already been applied and a set of change actions.
The Sundog Database Refactoring Tool (SDRT) is an open source (LGPL), DBMS-independent library that eases database development, particularly in an agile environment.
Application Ermodeller is a free CASE tool for data modelling which is built in Java. This tool supports conceptual and logical data modelling and in the final step, it allows to create physical model that is specific for particular DBMS.
The basic idea is to support development of database via ER modelling in three levels of abstraction:
* conceptual
* logical
* physical
This separation allows to create database model independent on the particular database system. You may create conceptual model and logical model that are independent on any DBMS. Then, you may generate physical model for each DBMS you will use. Afterwards, physical models allows you to generate SQL data definition for your target DBMS.
DbFit is a set of FIT fixtures which enables FIT/FitNesse tests to execute directly against a database. This enables developers to manipulate database objects in a relational tabular form, making database testing and management much easier then with xUnit-style tools. The library is free to use, released under GNU GPL.
This article presents with an solution on how to page through large amountsofdata effectively without taking down your database and without keeping it all in memory.
Do you hate starting on a new project and having to try to figure out someone else's idea of a database? Or are you in QA and the developers expect you to understand all the relationships in their schema? If so then this tool's for you.
SchemaSpy is a Java-based tool (requires Java 1.4 or higher) that analyzes the metadata of a schema in a database and generates a visual representation of it in a browser-displayable format. It lets you click through the hierarchy of database tables via child and parent table relationships. The browsing through relationships can occur though HTML links and/or though the graphical representation of the relationships. It's also designed to help resolve the obtuse errors that a database sometimes gives related to failures due to constraints.
The goal of Autofetch is reduce the modularity penalty and programmer burden of specifying associations which should be loaded with an object query. These specifications are sometimes are called fetch profiles, prefetch directives, or joins. These specifications are an important performance optimization because they reduce the number of round-trips to a persistence store whether that be a relational database, object database, or flat file. Autofetch is a library which integrates with object persistence tools and automatically handles prefetching data. Using dynamic program profiling, Autofetch determines the right prefetch directives for each query a program executes.
The Envers project aims to enable easy versioning of persistent JPA classes. All that you have to do is annotate your persistent class or some of its properties, that you want to version, with @Versioned. For each versioned entity, a table will be created, which will hold the history of changes made to the entity. You can then retrieve and query historical data without much effort.
Similarly to Subversion, the library has a concept of revisions. Basically, one transaction commit is one revision (unless the transaction didn't modify any versioned entities). As the revisions are global, having a revision number, you can query for various entities at that revision, retrieving a (partial) view of the database at that revision.
What is Ebean?
Ebean is a Object Relational Mapping Persistence Layer written in Java (Open Source LGPL license).
* Providing the features of EJB3's JPA (and more)
* No container required
* JPA compatible ORM mapping (@Entity, @OneToMany, ...)
Why use Ebean?
Ebean provides a simpler approach to Object Relational Mapping. It does this by not requiring session objects such as JPA EntityManager, JDO PersistenceManager, Hibernate Session, Toplink ClientSession.
The Eclipse Persistence Services Project (EclipseLink) project's goal is to provide a complete persistence framework that is both comprehensive and universal. It will run in any Java environment and read and write objects to virtually any type of data source, including relational databases, XML, or EIS systems. EclipseLink will focus on providing leading edge support, including advanced feature extensions, for the dominant persistence standards for each target data source; Java Persistence API (JPA) for relational databases, Java Architecture for XML Binding (JAXB) for XML, J2EE Connector Architecture (JCA) for EIS and other types of legacy systems, and Service Data Objects (SDO).
The Mogwai ERDesigner is a entity relation modeling tool such as ERWin and co. The only difference is that it is Open Source and does not cost anything. It was designed to make database modeling as easy as it can be and to support the developer in the whole development process, from database design to schema and code generation. This tool was also designed to support a flexible plug in architecture, to extend the system simply by installing a new plug in. This way, everybody can implement new features and tools to make ERDesigner fit the requirements.
ERDesigner NG
* is based on Java and can be run on Windows and Unix systems
* has a powerfull WYSIWYG for physical database design
* handles tables, relations, indexes and comments
* supports subject areas
* supports MySQL, Oracle, Microsoft SQLServer and Postgres
* creates the SQL DDL statements for schema creation
* has an integrated schema version control system
* can generate schema migration scripts for every change
* stores the database definition as XML files for further processing
* can export the database schema as GIF, BMP, JPEG or SVG files
* has an integrated reverse engineering module for existing schemas
* it is based on GPL license
* support is available by authors and newsgroups
About
AutoDAO is a Generic DAO on steroids implementation for Java.
This project was inspired by Don't repeat the DAO! article by Per Mellqvist.
Main features
* Ready to use CRUD operations
* Zero persistence code for common DAO queries
* Annotation-driven auto-configuration
* Spring Framework custom namespace for easy to use configuration
* Hibernate/JPA support
The agimatec tools contain some utilities to enable generation of files, source code etc. from sql files and annotated java classes.
The agimatec-dbmigrate tool is a database migration/script execution framework that can execute sql scripts, groovy scripts and provides a lot of features to assist in database schema migration. (tested with Oracle and Postgres)