that's the big question and the reason why I mapped to so many things in the first place. But I'm fine with being strict and open it up with some flag if that makes Gunnar happier.
ORM also throws an exception when e.g. explicitly using SEQUENCE on MySQL which doesn't have sequences. So I think we should generally do the same. Now we need to be a bit more relaxed as e.g. sequences can be emulated sufficiently well in Neo4j, although it doesn't have native sequences. So we should support that. Question is where to draw the line.
Regarding "some flag", isn't that what AUTO is about? This gives the user whatever is supported best on the store, and if they use a specific strategy instead, they should get an error if the chosen one isn't supported.
I'm not sure your efficiency argument holds. One query per generator seems fine to me anyways.
My comment specifically targetted the retrieval of id values, which we can do a bit more efficient when we don't need a label for the table name. But ok, if you guys really think TABLE should be mapped as well, I can live with it. I'll send all people complaining about unnatural mappings to you then 
About GridDialect#nextValue, can't we either split methods or add the necessary parameters?
Yes, we should do something like that. Then we also could encourage to use SEQUENCE rather than TABLE on Neo4j via a logged warning 
|