If you don't like SQL, do you prefer to have only DAO/repository interface in your application and defer the implementation to backend or even to some other people?
Overall, do you think that we need a "better" solution than ORM? For example, something that is simple but allows us to handle complex objects. I am working on a solution for relational database access and trying to get directions. Your comments are really appreciated.
I would say yes, but that is not a qualifier... there is hate for nearly everything, probably even unicorns and rainbows. However, ORM hate sometimes is reasonable.
> what are the ideal features you wish to have?
Most likely LAYERS.
RAW SQL - I want to be able to execute raw queries
ABSTRACTION - I don't want to take care of all the different DMBS and Prepared statements all the time
QUERY BUILDER - It's neat to have a fluent interface query builder to prevent string manipulation for queries
REPOSITORIES - I would like to have some good basic classes for the repository pattern
ORM - Sometimes I just do CRUD and code first ORM is often helpful to rollout db structure
OBJECT QUERY LANGUAGE - In some edge cases it would be nice to query objects
Best case scenario would be to have all these as different lightweight libraries building on top of each other without being to tightly coupled. In PHP there is Doctrine DBAL and Doctrine ORM, in C# there is SqlKata and Entity Framework, but I did not find a stack like described above where you can pull each of these LAYERS separately.For an sql editor I would wish an autocomplete code editor with syntax highlight, auto formatting, auto-complete, query history. Globally scriptable variables including a vault for secrets (e.g. select {datefields.expand()} from users) would also be cool (similar to Postman).
- http://shujutech.mywire.org/corporation?goto=ormj
- https://github.com/shujutech/StORMi
We're looking for SQL parser expert to help us place in the like such as OQL/HQL into StORMi. Please help!
> Join the tables foo and bar on bar_id and bar and baz on baz_id and select quip that begins with 'it' or ends with 'qu' but does not have numbers, for oracle, using date format mm/dd/yyyy.
The problem is libraries is bad, really bad.