G
Guest
Gast
Hallo,
ich stehe gerade erst am Anfang, im Bezug auf EJB, dennoch habe ich bereits jetzt schon ein paar fragen.
Für die Verbindung zur Datenbank benötigt man ja im Grundsatz zwei Dateien:
Wo wären jetzt die Daten, wie z.B. das Passwort und der Username besser aufgehoben?
In der persistence.xml wäre es ja unpraktisch, die jar jedesmal zu öffnen, und die entsprechenden Daten für den Server einzutragen.
In der -ds.xml hat das auch einige nachteile... jeder der auf dem Server kommt, kann das Passwort für die DB einsehen, wobei man hier beachten sollte, das jeder der zugriff zum Server hat auch dazu berechtigt sein sollte das Passwort einsehen zu dürfen. Also nach dem Motto: "Dies ist ein Mitarbeiter, dem ich vertrauen kann. Es ist also egal, das er das Passwort herausfinden könnte."
Ich arbeite am liebsten mit dem JBoss, dieser lässt ja scheinbar Hibernate für sich arbeiten. Nun kann ich ja den Dialect für Hibernate in der persistence.xml einstellen, was aber wenn ich mein Projekt im Netz ausstelle und jeder soll es nutzen können, woher soll ich bereits zur Entwicklungszeit wissen, welchen Server mein Anwender später nutzt?
Kann man an dieser Stelle irgendwas machen, außer die Datei in der entsprechenden jar zu ändern?
Wie ihr seht stehe ich dem Ändern der jar für die EJB's ziemlich skeptisch gegenüber...
Desweiteren, was ist, wenn ich meine Objekte aus der Datenbank genau so wie sie sind in der jsp oder im Servlet benutzen will (Also ich möchte nur Ausgaben erfolgen lassen, ohne jegliche Berechnungen, die kommen erst nach der Bearbeitung durch den User)? Sollte man denn das SQL-Statement in der jsp stellen oder sollte man hier doch lieber eine Session Bean nehmen, die denn die Objekte aus der DB holt und denn weiterreicht? Oder eine Dritte Möglichkeit, man lässt die Objekte von der Datenbank per Sessionbean laden und schickt diese denn als xml Datenstrom weiter... wobei ich diese Lösung doch als ein bisschen fragwürdig empfinde.
Wie sieht es mit den NamedQueries aus? Falls man hier die Daten abholt, und diese sortieren lassen will, sollte man dies vom SQL Server erledigen lassen oder sollte man erst in den Session Beans sortieren lassen? Denn würden hier doch unnötig viele Objekte geladen werden oder nicht?
Vielen Dank schon einmal im voraus.
ich stehe gerade erst am Anfang, im Bezug auf EJB, dennoch habe ich bereits jetzt schon ein paar fragen.
Für die Verbindung zur Datenbank benötigt man ja im Grundsatz zwei Dateien:
- zum einen die ...-ds.xml (z.B.racle-ds.xml, postgres-ds.xml)
- und die persistence.xml im EJB-Projekt.
Wo wären jetzt die Daten, wie z.B. das Passwort und der Username besser aufgehoben?
In der persistence.xml wäre es ja unpraktisch, die jar jedesmal zu öffnen, und die entsprechenden Daten für den Server einzutragen.
In der -ds.xml hat das auch einige nachteile... jeder der auf dem Server kommt, kann das Passwort für die DB einsehen, wobei man hier beachten sollte, das jeder der zugriff zum Server hat auch dazu berechtigt sein sollte das Passwort einsehen zu dürfen. Also nach dem Motto: "Dies ist ein Mitarbeiter, dem ich vertrauen kann. Es ist also egal, das er das Passwort herausfinden könnte."
Ich arbeite am liebsten mit dem JBoss, dieser lässt ja scheinbar Hibernate für sich arbeiten. Nun kann ich ja den Dialect für Hibernate in der persistence.xml einstellen, was aber wenn ich mein Projekt im Netz ausstelle und jeder soll es nutzen können, woher soll ich bereits zur Entwicklungszeit wissen, welchen Server mein Anwender später nutzt?
Kann man an dieser Stelle irgendwas machen, außer die Datei in der entsprechenden jar zu ändern?
Wie ihr seht stehe ich dem Ändern der jar für die EJB's ziemlich skeptisch gegenüber...
Desweiteren, was ist, wenn ich meine Objekte aus der Datenbank genau so wie sie sind in der jsp oder im Servlet benutzen will (Also ich möchte nur Ausgaben erfolgen lassen, ohne jegliche Berechnungen, die kommen erst nach der Bearbeitung durch den User)? Sollte man denn das SQL-Statement in der jsp stellen oder sollte man hier doch lieber eine Session Bean nehmen, die denn die Objekte aus der DB holt und denn weiterreicht? Oder eine Dritte Möglichkeit, man lässt die Objekte von der Datenbank per Sessionbean laden und schickt diese denn als xml Datenstrom weiter... wobei ich diese Lösung doch als ein bisschen fragwürdig empfinde.
Wie sieht es mit den NamedQueries aus? Falls man hier die Daten abholt, und diese sortieren lassen will, sollte man dies vom SQL Server erledigen lassen oder sollte man erst in den Session Beans sortieren lassen? Denn würden hier doch unnötig viele Objekte geladen werden oder nicht?
Vielen Dank schon einmal im voraus.