Hi John,
As suggested by Jonathan you can look at CCM. CCM does not require you to use all of the under pinings. I think you can still use Struts for it. You can just use CCM's PDL and data model.
For you to use OpenACS data model is not an easy tasks. OpenACS has aolserver as its app server that handles the db connections. Straight JDBC may not be something beneficial. If you are in Java, you can go like in CCM:
User foo = new User();
foo.setName("bar");
foo.save();
This will insert a new row. Although in Tcl you can go
db_dml insertuser "insert into users (name) values ('bar')"
Of course once you use the object relational things are more complex. OpenACS 4 gives you the ability to manipulate the data model directly, with great api like db_string, db_1row, db_multirow, etc. And has lots of plsql db api to make things more simpler. CCM gives you that ability to manipulate the data model as if its an Object. It highly abstracts the db. Both platforms has their uses and are equally powerful. The schema of both platforms are very similar. I hope this helps.