WhatAreTheCodingRestrictionsMyBusinessClassesHaveToObey

This is a rough rendering of a page from the old Prevayler wiki. Please see the new wiki for current documentation.

Your BusinessClasses must be Serializable and Deterministic. 

Is that it?  
Yes. That's it.

What is the base class my classes have to extend in order to be persisted?  
  
There is no base class.  
  
Do you mean I have to create or generate clumsy interfaces for each of my BusinessClasses?
No.  
  
Oh, I know: isDirty flags!  
No flags.  

Isn't reflection slow for persistence?  
Prevalence does not use reflection.  

What does the query language look like, then?  
Java.  

Is it similar to Java?  
No, it is Java.  

Is the provided collections API any good?  
No. There is no collections API restriction. You can use the Java collections normally or any other collections API you want. See: HowDoIQueryMyObjects?  

How is my code pre or post-processed?
There's no pre or post-processing involved.

I get it! What wierd proprietary VM must I use?  
Any ordinary Java VM will do.  
  
Sorry, I can't believe it.  
Take a look at the Prevayler Demos and the ScalabilityTestResults.

WhatAreTheCodingRestrictionsMyClientClassesHaveToObey?        


See: Deterministic.
Back to: ObjectPrevalenceSkepticalFAQ
Is it good practice to give every business-object a unique id and put them all in one container? This would eliminate the need to think up Primairy Keys for every class, and that would make the system more OO and even less RDB. And could this enable you to use direct references in the commands? So that every reference to an object is serialized as an id and reloaded as an object! That would be nice @:) --Wouter Schut

You want to take a look at http://freeroller.net/page/tirsen/20030112 and get in touch with Jon about the use of Nanning with Prevayler. --KlausWuestefeld


DATA MIGRATION
If I add a new field in the class of a business object and I have thousands of instances of that class without that new field how can I migrate those instances to the new class?
Giannandrea Castaldi

CHANGES TO PERSISTED CLASSES?
What happens when changes happen to the classes?  Usually classes persisted using the traditional java serialization method will not reload if the class changes.  How does Prevayler handle this?

Are you serializing HashMaps of member variables, to workaround the problem "CHANGES TO PERSISTED CLASSES", mentioned above ?

See: SchemaEvolution --KlausWuestefeld

----