I d like to collect some opinions, or even advice on the following.

I will be writing a business application, probably using Spring and Hibernate, but non web clients. Nothing too special.

What though is a thinking-issue, sotosay, is that I know that the applications entities will change frequently. A simplified example would be that there might be a "Person" entity with some properties, and lets say every few months new fields need to be added (for example "age", and then "business address" or whatever). And I would like to make this as easy possible, ideally possible without a coder. The UI forms would either adapt automatically, or I will push it out to some config files.

The most obvious solution to this is code changes and re-releasing the changed code.

The other obvious one is come up with a kindof dynamic and generic DB schema but I dont really like the idea that much, because it would complicate queries and whatnot.

Does any one have experience with stuff like that, or any ideas, opinions, criticism? How is that usually done in CRM solutions, are there libraries out there for this?

Thanks very much for every input!