cayenne-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Peter Karich" <>
Subject Thanks and raw sql statements and more
Date Fri, 08 Sep 2006 21:20:38 GMT

I have a new version (warning: alpha) of my opensource project gstpl  
(Swing Timetable Platform, see which uses cayenne and derby.
Thank you for your project! I like it more than other mappers, because of  
the easy 'reengineer-database' tool and of java class + db schema  
generation! This is easier than hibernate. Okay expect some newbie  
mistakes I made, see 'cayenne INSERTs NULL values instead of strings'  
May be you want to 'learn' from gstpl (Things that I learned as a database  
newbie in ONE month!!):
. How to create the database schema from the appliaction.
. Using grant/revoke in derby (new 10.2 beta allows that!
May be you have some comments on doing things better ...

Andrus, you want to switch from hsqldb to DERBY - I read this in a forum...
Here are my impressions:
. derby creates a bigger empty database (1.5MB) instead of some KB.
. derby is (only for gstpl) as fast as hsqldb.
. derby has a greater community (okay I know there are sun+ibm behind them  
. derby is more secure, offers database encryption and encrypted  
(. Derby does not allow a ';' in my sql statements?)
. derby passes the ACID test. For more infos:
Andrus says:
. derby is saver if you need a good data integrity.

Now I have several questions related to CAYENNE:

If I create a new object, can I query the database (e.g. a SelectQuery)  
without a commit? I tried this, but it does not work? Should'nt I get this  
object from the cache instead of the db if it is new?

How to get the available column headers, not only the headers which I  
defined in the modeler? (I wanted that users of gstpl can change the  
columns of my tables from within gstpl.)
I tried SelectQuery select = new SelectQuery(tableName);
QueryMetadata meta = select.getMetaData(getContext().getEntityResolver());
Iterator iter = meta.getDbEntity().getAttributes().iterator();
colDefinition = new HashSet();

What could happen if I make a raw sql update statement? (Docs says: '...  
and therefore may potentially leave object graph in an inconsistent  
state.') What does this mean for me as programmer?

Does cayenne support user management in any sense?

Why or when should I use 'Remote Object Persistenc'? (Sorry for that  
newbie question ...)

Which license-agreement-files should I add for gstpl? (it only uses the  

Last but not least: How do you earn money with cayenne?

Again: Thanks,

Telefonate ohne weitere Kosten vom PC zum PC:

View raw message