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
What does it do?
Given an accessible database schema, the Hibernate POJO Generator produces all the Java code necessary to access each field in each table via the Hibernate persistence framework. Additionally, the generator also creates all the necessary helper classes and test units for each component.
The DataNucleus project provides products for the management of application data in a Java environment. Our aim is to provide good quality open source products to handle data in all of its forms, wherever it is stored. This goes from persistence of data into heterogeneous datastores, to providing methods of retrieval using a range of query languages, and eventually on to the analysis of data and tools for managing data quality. Your use of DataNucleus products will mean that you don't need to take significant time in learning the oddities of particular datastores, or query languages and instead use a single common interface for all of your data, and instead your team can concentrate their application development time on adding business logic and let DataNucleus take care of data management issues.
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
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 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.
Use Google Spreadsheets API to create a database in the cloud
Mr. Jeffrey W Scudder (Google)
30min Intermediate
case study, cloud computing, google spreadsheets, online databse, web, web services
I'll show you how to create a Python module which wraps the Google Spreadsheets Data API web service in an interface so that it looks like a local database. Using this tool, your application can run anywhere with Internet connectivity and users will be able to take their data with them. The benefit of using Google Spreadsheets for a back-end is that it provides a simple UI which is easy for non programmers to interact with. The cost of provisioning and running a Spreadsheets based database is zero from the perspective of an application developer. This example module provides a toolkit which simplifies interactions with the Google Spreadsheets API for a specific use case: using a spreadsheet like a remote database.
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.
Here's a realtively simple way to implement data versioning in a database, in a way that should be scalable as well. It only needs a couple of support tables and a single function and can apply versioning across multiple data sets concurrently.