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.
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.
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.
dt-Source
This is a taglib providing connection between Displaytag taglib and data sources, allowing to load partial lists from different sources, like Hibernate, JDBC, etc. Requires Spring framework.
During the project growth, it's getting new functionality and features like filters, searches, etc. completely customizable with CSS.
The most of the code was written by Olexiy Prokhorenko with some help from Olexandr Prokhorenko and later was donated to Open Source Community. We support this project free of charge but we welcome donations. :)
Remember when the Object database was going to kill the Relational database?
OOP was the sexy programming model, and relational set theory seemed so quaint. Once you are using Objects, why wouldn’t you just want to persist them instead of having to drop down to this crazy SQL? Inner joins instead of just person.name.first? Fools.
SymmetricDS is web-enabled, database independent, data synchronization/replication software. It uses web and database technologies to replicate tables between relational databases in near real time. The software was designed to scale for a large number of databases, work across low-bandwidth connections, and withstand periods of network outage.
jLynx is a simple, lite, hi-performance layer over the JDBC API. Persist and retrieve POJO and Map objects directly. Designed for developer productivity. Simpler, easy to learn, easy to configure as compared to Hibernate, JPA, etc.
jLynx generates JavaBean objects based on your database schema. For example if you have 24 tables and views in your database, jLynx will create 24 objects with properties that map to the field names in each table. The jLynx Generator creates the objects and compiles them. You can also use the generated source instead if you prefer to customize the objects. Using the API to persist objects is trivial.
jLynx Framework implements the Relational interface, which has all necessary methods to persist objects and fetch entire collections of objects.
jLynx leverages the strengths of SQL and the strengths of Java without having to write/maintain J2EE code. It is truly the best of both worlds.
log4jdbc is a JDBC driver that can log SQL and/or JDBC calls (and optionally SQL timing information) for other jdbc drivers using the Simple Logging Facade For Java (SLF4J) logging system.
SQL Workbench/J is a free, DBMS-independent, cross-platform SQL query tool. It is written in Java and thus it should run on any operating system that provides a Java Runtime Environment.
It's main focus is on running SQL scripts (either interactively or as a batch), graphical query building or administration of the database is not the focus.
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.
DB Schema Viewer is an Eclipse plugin that builds a graphical view of an existing database. Reverse Engineering is performed through JDBC. The most popular databases are currently supported:
* MySQL
* PostgreSQL
* Firebird
QuantumDB is a simple but powerful database access plug-in for the Eclipse Development Platform. QuantumDB allows you to:
* connect to databases using standard JDBC drivers
* review schemas, tables, views and sequences
* look up column, index and foreign key information
* issue ad-hoc queries or other SQL statements against the database
* manage, edit, and work with SQL files (*.sql)
* issue updates, deletes, and inserts using simple, easy-to-use wizards
Eclipse SQL Explorer is a thin SQL client that allows you to query and browse any JDBC compliant database. It supports plugins with specialized functionality for individual databases (Oracle, DB2 and MySQL) and can be extended to include specialized support for other databases.
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.
Scriptella is an open source ETL (Extract-Transform-Load) and script execution tool written in Java.
Our primary focus is simplicity. You don't have to study yet another complex XML-based language - use SQL (or other scripting language suitable for the data source) to perform required transformations.
SchemaCrawler is a command-line tool to output your database schema and data in a readable form. The output is designed to be diff-ed with previous versions of your database schema. SchemaCrawler is also an API that improves on the standard JDBC metadata.
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.
Develop a java-based tool that manages the life-cycle of the database schema and generates code and documentation artifacts. The tool transforms an XML description of a database schema into an HTML data dictionary, SQL scripts to create the database, and Java data access code. The tool automatically updates the documentation, scripts, and code as the schema is changed and updated. The tool also provides a simple but powerful data access programming model and framework for developing custom data access code. The generated Java code conforms to the Data Access Object (DAO) and Value Object (AKA Data Transfer Object) patterns that are described in the J2EE Java Blueprints.