PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : SQL-Abstraktion für Java


Shink
2005-11-22, 10:57:24
Kennt irgenjemand von euch eine einfache, überschaubare und ausgereifte Lösung, um SQL-Statements in Java dynamisch über Objekte und Methoden zu erzeugen?
Ich würde so etwas suchen wie: http://sourceforge.net/projects/sqlom
nur eben für Java

Als Beispiel:

FromTerm tCustomers = FromTerm.Table("customers", "c");
FromTerm tProducts = FromTerm.Table("products", "p");
FromTerm tOrders = FromTerm.Table("orders", "o");

SelectQuery query = new SelectQuery();

query.Columns.Add(new SelectColumn("name", tCustomers));
query.Columns.Add(new SelectColumn("name", tProducts));
query.Columns.Add(new SelectColumn("price", tProducts));

query.FromClause.BaseTable = tCustomers;
query.FromClause.Join(JoinType.Left, tCustomers, tOrders, "customerId", "customerId");
query.FromClause.Join(JoinType.Inner, tOrders, tProducts, "productId", "productId");

query.WherePhrase.Terms.Add(WhereTerm.CreateCompare(
SqlExpression.Field("name", tCustomers),
SqlExpression.String("John"),
CompareOperator.Equal));

Silpion
2005-11-22, 11:31:15
Abgesehen davon, sich eine passende Klasse selbst zu schreiben, kenne ich keine Lösung, allerdings würde ich bei SQL eh dazu übergehen, StoredProcedures in der Datenbank zu verwenden und von außerhalb (z.B. aus Java-Programmen) nur diese Procedures aufzurufen.

Shink
2005-11-22, 11:36:37
An selbst Schreiben dachte ich natürlich auch, aber wenns da etwas gäbe wärs wohl ausgereifter als wenn ich jetzt etwas mache.
Stored Procedures kommen leider nicht in Frage.

clm[k1]
2005-11-22, 11:43:30
Ich glaube Hibernate (http://www.hibernate.org/) ist was du suchst!


clm[k1]