PAT stands for "Persistent Applications Toolkit". Like many other software
it simplifies developing of persistence layers of
business applications. It does it by providing object-oriented environment
for persistence of your objects: POJOs
And.. it really does it.
PAT provides almost transparent data layer for a business application. It employs state-of-the-art techniques to achieve it. These are OO, AOP (JBossAOP), Java, Prevayler, Ant, JUnit, Log4j, @@annotations and others. It cooperates well with web applications: Struts (and possibly other web frameworks), Tomcat, JBoss AS.
One can think of it like a tool which adds persistence characteristic to Java objects (AOP term: persistence aspect)
Relations? Bad smell "one"
More time spent on persistence results in less time spent on business requirements. Bad smell "two".
More code written on persistence layer, the more to debug, test and maintain. Bad smell "three".
If that's the case, let's generate persistence layer or make it invisible as much as possible.
Not less important; PAT uses very fast object-oriented, in-memory database. This results in very fast object access and search. Though, it still allows integration with relational databases.