Super Simple Java ORM Framework For SQL Happy Developers Super simple java orm cadre pour SQL heureux développeurs
I previously mentioned that I intended not to use any Java ORM frameworks. J'avais déjà mentionné que j'avais l'intention de ne pas utiliser de Java ORMULAIRE cadres. ORM frameworks I have seen so far have a steep learning curve and tend to shoe horn your architecture into their model. ORMULAIRE cadres que j'ai vus jusqu'ici ont une forte courbe d'apprentissage et de la chaussure ont tendance à cor votre architecture dans leur modèle. So I started fresh without any ORM frameworks like Hibernate or Spring (which I have heard is better). J'ai donc commencé sans frais ORMULAIRE cadres comme Hibernate ou de printemps (que j'ai entendu est de meilleure qualité).
I am happy coding my queries in SQL and don’t need to use any ORM specific language like Hibernate OQL. Je suis heureux de codage mes requêtes en SQL et n'ont pas besoin d'utiliser un langage spécifique ORM comme Hibernate OQL. SQL is best for what it does. SQL est le mieux pour ce qu'il fait. Why re-invent the wheel? Pourquoi réinventer la roue? Also I like the fine-grained control over my database as I am processing very large amount of data. J'aime également l'amende-le contrôle au-dessus de ma base de données comme je suis le traitement très grande quantité de données. My experience will be primarily relevant to sql happy java developers. Mon expérience sera essentiellement l'heureux sql développeurs Java.
In the process (of working without any ORM framework) I realized I just needed two simple facilities over plain old JDBC. Dans le processus (de travail sans cadre ORM) je me suis rendu compte que je viens de deux simples nécessaires sur les installations anciennes plaine JDBC.
1. I needed a way to put all the SQL queries and DDL’s in a separate file. J'avais besoin d'un moyen de mettre toutes les requêtes SQL DDL et dans un fichier séparé. This allows me or a DBA to later analyze the query with a fine tooth comb and optimize if necessary. Cela me permet un DBA ou plus tard à analyser la requête d'une amende peigne et d'optimiser le cas échéant. It also allows me to easily change them without changing the code. Il me permet également de les modifier facilement sans modifier le code. Most of all cleanliness of the solution is appealing. La plupart de tous propreté de la solution est séduisante. At this point I am sure you are thinking of iBatis. À ce stade, je suis sûr que vous pensez de iBatis. I tried iBatis. J'ai essayé iBatis. Initially I liked it and thought I had my solution. Au début, je l'ai beaucoup aimée et de la pensée j'ai eu ma solution. However as I went down the lane I realized it too gave me features that I didn’t need. Toutefois, je suis allé à la voie je me suis rendu compte il m'a donné trop caractéristiques que je n'ai pas besoin. Even this was more complicated than I needed. Même cela a été plus compliqué que j'avais besoin. All I needed was a HashMap saved to a file in XML format. Tout ce que je faut, c'est une HashMap enregistrées dans un fichier au format XML. And my database class should support query execution by name (think key-value). Et ma base de données de classe devraient appuyer l'exécution de la requête par son nom (pensez clé-valeur).
2. Secondly I needed connection pooling to prevent opening and closing too many connections and also running out of connections. Deuxièmement, je le pool de connexion nécessaires pour empêcher l'ouverture et de fermeture trop grand nombre de connexions et également à court de connexions. I found a nice solution in Proxool. J'ai trouvé une solution élégante dans Proxool. Additionally it supports having multiple connection profiles in a simple text file and optionally logging queries. De plus, il supporte d'avoir plusieurs profils de connexion dans un simple fichier texte et, éventuellement, l'exploitation forestière requêtes.
3. I needed to integrate these two capabilities in a simple database class along with utility methods like cleanly closing connection and optionally logging the query data. J'avais besoin d'intégrer ces deux fonctions en une simple base de données de classe ainsi que des méthodes comme l'utilité proprement Fermeture de la connexion et, éventuellement, l'exploitation forestière à la requête de données.
That’s all there is in my super simple framework, if you can even call it that. C'est tout ce qu'il ya dans mon super cadre simple, si vous pouvez même l'appeler ainsi. And, believe it or not, I am way more productive using it than I have been in a long time and I feel fully in control. Et, croyez-le ou pas, je suis beaucoup plus productif à l'aide de ce que je ne l'ai été depuis longtemps et je suis pleinement en contrôle. No more burden of shoe horning my ideas to fit FooBah framework and its ideologies for me. Plus de charge de la chaussure Horning mes idées pour s'adapter FooBah cadre et de ses idéologies pour moi.
Update: There has been extensive discussion on this post at the Mise à jour: Il a été longuement débattu de ce poste au ServerSide .
Filed under Classé sous Headline News Headline News , How To Comment , Java Software Logiciel de Java , Tech Note Note technique , Technology Technologie | |
| |
RSS 2.0 RSS 2,0 | |
Trackback this Article | cet article |
Email this Article Envoyer cet article
You may also like to read Vous mai également à lire |





August 19th, 2006 at 9:33 am Août 19th, 2006 at 9:33 am
[...] I wrote about how I use a simple Java framework instead of ORM like Hibernate or Spring for effectively solving my data handling requirements. [...] J'ai écrit sur la façon dont je utiliser un simple cadre de Java au lieu de ORMULAIRE comme Hibernate ou Spring pour résoudre efficacement mes données de manutention. It has made me tremendously productive. Il m'a rendu extrêmement productif. It sparked a major debate in ServerSide. Il a suscité un grand débat dans ServerSide. So I decided to provide more details about my ORM-replacement framework. J'ai donc décidé de fournir plus de détails au sujet de mon remplacement ORM-cadre. My needs are simple and are likely to match with any SQL happy Java developers. Mes besoins sont simples et sont susceptibles de correspondre avec toute SQL heureux développeurs Java. [...]
August 29th, 2006 at 1:01 pm Août 29th, 2006 at 1:01 pm
Would you mind posting or emailing me the class you mentioned in number 3? Accepteriez-vous de l'affichage ou courrier électronique la classe moi vous avez mentionné dans le numéro 3?
Thanks, Merci,
Jason
August 29th, 2006 at 11:37 pm Août 29th, 2006 at 11:37 pm
Simple needs means simple framework. Simple adaptation aux besoins cadre simple. I am releasing an invoice application base on a db framework I build from scratch. Je suis libérant une facture demande sur une base db cadre je construis à partir de zéro. It allows me to define a model with objects of the DB, to share data, lock records, make paged queries in a client/server way. Il me permet de définir un modèle avec des objets de la BD, de partager les données, écluse, pagination faire des requêtes d'un client / serveur. You don’t mind if you are working with the client or the server side: tha api is THE SAME. Vous n'avez pas l'esprit si vous travaillez avec le client ou le serveur: THA api est la même. And you can still use any SQL, low level, query. Et vous pouvez encore utiliser toute SQL, faible niveau, requête. Maybe in the future I could add an object/orm layer, but it is not badly needed now. Peut-être dans l'avenir je pourrais ajouter un objet / orm couche, mais il n'est pas absolument nécessaire. It is true that your framework is enough for your requirements, but I think it is not for more complex targets. Il est vrai que votre cadre est suffisamment à vos besoins, mais je pense qu'il n'est pas plus complexe pour cibles.
August 30th, 2006 at 12:39 am Août 30th, 2006 at 12:39 am
Sure. Certain. I have received lots of email asking for the framework, if you can even call it that. J'ai reçu beaucoup de e-mail demandant pour le cadre, si vous pouvez même l'appeler ainsi.
I will post it as soon as I get some spare cycles. Je poste dès que je reçois un peu de cycles. It would be nice to have it better commented which I need to do. Il serait bon de l'avoir commenté mieux que je dois faire.
The earliest I can think of is next week or week after that. Le plus tôt je peux penser est la semaine prochaine ou la semaine d'après.
September 20th, 2006 at 12:07 pm Septembre 20th, 2006 at 12:07 pm
I agree 100% with you. Je suis d'accord 100% avec vous. I have been fighting a battle with so-called-architects of our company who wish to use ORM without even doing a real-world proof of concept. J'ai été la lutte contre une bataille avec soi-disant architectes de notre société qui souhaitent utiliser ORMULAIRE sans même faire un monde réel preuve de concept.
I wrote a super simple framework myself and am really happy to see how I was able to write apps faster. J'ai écrit un super simple cadre moi-même et je suis vraiment heureux de voir comment j'étais capable d'écrire des applications plus rapidement. And this was after I started app with Hibernate and got stuck because of not able to write (rather convert) a complex SQL to HQL and none of the experts here could do it either. Et c'est après que j'ai commencé app avec Hibernate et s'est arrêté en raison de pas en mesure d'écrire (et non convertir) un complexe SQL pour HQL et aucun des experts ici pourrait le faire. I am no expert, but I know if it ain’t helping me get my job done, it ain’t right. Je ne suis pas un expert, mais je sais que si elle ne contribue pas me faire mon travail, il n'est pas juste.
October 26th, 2006 at 2:55 pm Octobre 26, 2006 at 2:55 pm
Hi, have you published the code yet? Salut, avez-vous publié le code encore? I cant find a reference anywhere. Je te trouver une référence nulle part.