Java Persistence API (JPA) implementation for SimpleDB

Sample Code & Libraries>Java>Java Persistence API (JPA) implementation for SimpleDB
Community Contributed Software

  • Amazon Web Services provides links to these packages as a convenience for our customers, but software not authored by an "@AWS" account has not been reviewed or screened by AWS.
  • Please review this software to ensure it meets your needs before using it.

A Java Persistence API Implementation for SimpleDB makes using SimpleDB in your java app a piece of cake.


Submitted By: T. Reeder
AWS Products Used: Amazon SimpleDB
Language(s): Java
License: Apache License 2.0
Source Control Access:
Created On: February 27, 2008 2:34 AM GMT
Last Updated: September 21, 2008 8:35 PM GMT
I've spent some time attempting to create a JPA implementation for SimpleDB to see if it could be done (1) and because I couldn't imagine working without my object relational mapping framework (2). ;)

And indeed, after some serious hack sessions, I've got what appears to be a solid working version, albeit it is a subset of the full JPA spec due to the nature of SDB vs RDBMS.

Currently supports:
# @ManyToOne - object references.
# @OneToMany - collections.
# @MappedSuperClass? - Useful for a common ID and timestamping class.
# @Inheritance
# @Lob - stores lobs in S3 so make it as big as you want (up to 5GB).
# @Id - Assigns UUID automatically
# Lazy loading on ManyToOne, Lobs, and OneToMany so only hits SDB on an as needed basis.
# rudimentary caching to reduce hits on SDB
# JPA Queries - see:

The jar along with documentation is available here:

I would love any feedback and if anyone is interesting in helping out with the project, let me know.
©2017, Amazon Web Services, Inc. or its affiliates. All rights reserved.