Following on from this thread http://forum.springsource.org/showthread.php?t=77252 I want to provide my own version and id fields for most of my persistent entities so that I can provide XStream annotations on these fields.

I think the best approach here is to provide an AbstractEntity as a base class; but my experiments show that ROO doesn't seem to remove the fields from the generated aspects in the sub-classes. What is the correct way to do this? Do I need to annotate the Abstract class as a RooEntity? Do I have to proved public getters and setters for these fields? I'm also getting warnings like this in the shell 'User provided @javax.persistence.Id field but failed to provide a public 'getId()' method'

Jon