Projekt

Allgemein

Profil

Herunterladen als
Statistiken
| Zweig: | Revision:
Name Größe Revision Geändert vor Autor Kommentar
  samples dcb097f9 mehr als 8 Jahren Christian Ehringfeld validator stuff
  src 1b0c0386 mehr als 8 Jahren Christian Ehringfeld removed unneeded qdebug includes
.gitignore 26 Bytes 9d05e414 etwa 9 Jahren Christian Ehringfeld brainfuck
EntityManager.pro 3,24 KB e80feccc mehr als 8 Jahren Christian Ehringfeld validator stuff
README.md 3,5 KB 0ec1cbfb mehr als 8 Jahren Christian Ehringfeld readme update, example updates, new method for ...
license.txt 7,47 KB d68c7cea etwa 9 Jahren Christian Ehringfeld added license text

Aktuellste Revisionen

# Datum Autor Kommentar
1b0c0386 12.08.2015 01:09 Christian Ehringfeld

removed unneeded qdebug includes

dcb097f9 12.08.2015 00:52 Christian Ehringfeld

validator stuff

3f097a32 12.08.2015 00:40 Christian Ehringfeld

fix

a0c6df62 12.08.2015 00:23 Christian Ehringfeld

example update

92efdbef 11.08.2015 23:51 Christian Ehringfeld

validator example

e80feccc 11.08.2015 23:45 Christian Ehringfeld

validator stuff

b7f1ce8e 11.08.2015 23:23 Christian Ehringfeld

validator stuff

0ec1cbfb 11.08.2015 22:18 Christian Ehringfeld

readme update, example updates, new method for entitymanager

a72dc7ae 11.08.2015 19:26 Christian Ehringfeld

...

28d2f01a 11.08.2015 19:18 Christian Ehringfeld

validators

Alle Revisionen anzeigen | Revisionen anzeigen

README


CuteEntityManager for Qt

German

Mit dem CuteEntityManager ist es möglich Entities zu persistieren, zu mergen, zu finden und zu löschen. Die Funktionalität ist dem EntityManager der JPA nachempfunden. Für eine andere Anwendung war ich auf der Suche nach einem leicht zu benutzenden ORM. Entweder enthielten die jeweiligen Librarys zusätzliche Abhängigkeiten, hatten nicht den gewünschten Funktionsumfang, waren in der Benutzung zu "kompliziert"(imho) oder an bestimmte Plattformen gekoppelt.

Der CuteEntityManager unterstützt grundsätzlich alle von Qt unterstützten Plattformen. Da ich hauptberuflich Java & PHP Entwickler bin, ist der CuteEntityManager dem o.g. EntityManager der JPA und zum Teil dem PHP Yii Framework nachempfunden.

Der CuteEntityManager basiert ausschließlich auf Qt/C++ Techniken. Der Properties für das ORM werden anhand von QPROPERTY Makros festgelegt. Es ist möglich Vererbung zu nutzen. Relationen (ONETOONE, MANYTOONE, ONETOMANY und MANYTO_MANY) sind natürlich auch möglich. Um SELECT Statements zu vereinfachen gibt es eine Query API. Man kann also ohne ein Stückchen SQL eine komplette Anwendung mit SQL-Datenbank Anbindung implementieren. Man sollte sich natürlich über die "Besonderheiten" einer relationalen Datenbank im Klaren sein (insbesondere eben bei Relationen). Aktuell ist nur die SQLite Unterstützung einigermaßen getestet. Erweiterungen für MySQL/PGSQL/MSSQL sollte relativ problemlos möglich sein.

Der CuteEntityManager ist sicherlich weit davon entfernt in einem guten (getesteten) bzw. fertigen Zustand zu sein, da er aber für die Entwicklung einer anderen Anwendung genutzt wird, wird sich der Zustand sicherlich fortlaufend verbessern. Kritik, Lob, Verbesserungsvorschläge, Pull Requests, Code Reviews sind jederzeit Willkommen. Man kann mich auf direktem Wege per Mail an c.ehringfeld[at]t-online.de erreichen.

English

With CuteEntityManager it is possible to persist, merge, find or delete entities. It's funcionality is based on JPA's EntityManager. For a different application I was in search of an easy-to-use ORM. Either those particular libraries had additional dependencies, a smaller functional range, were too "complicated" to use (imho) or bound to specific platforms.

CuteEntityManager basically supports all platforms supported by Qt. Because I am a Java & PHP developer for a living, CuteEntityManager is conceptionally based on the aforementioned EntityManager of JPA and in parts on the PHP Yii framework.

CuteEntityManager builds solely on Qt/C++ techniqes. The properties for the ORM are established by the usage of QPROPERTY macros. It is possible to use inheritance. Of course, relations (ONETOONE, MANYTOONE, ONETOMANY and MANYTO_MANY) are also possible. To simplify SELECT statements there is a Query API. Thus, it's possible to implement a whole Application with database connection without using a single bit of SQL. Of course, you should be aware of the "specifics" of a relational database (notably in matters of relations). Currently, only SQLite support is passably tested. Extensions for MySQL/PGSQL/MSSQL should be possible quite smoothly.

CuteEntityManager is definitely far from a proper (and tested) or even finished state, but because of it's use for the creation of another application, surely this state will successively improve. Criticism, praise, improvement suggestions, pull requests and code reviews are welcome at any time. You can reach me directly by mail under c.ehringfeld[at]t-online.de.

Auch abrufbar als: Atom