Wir haben derzeit ein Java EE-System, in dem wir mithilfe von JPA auf unsere Datenbank zugreifen. Es ist ein ziemlich gut entwickeltes System mit etwa 20 Entitäten.JPA- und Tabellenansichten. Kann es gemacht werden?
Wir haben jetzt bestellt, Ansichten für alles zu verwenden. ZB: wenn wir eine Tabelle namens PERMISSION haben, dann brauchen wir auch eine Ansicht namens PERMISSION_VIEW. Grundsätzlich müssen wir dies für jede Tabelle tun, und unsere Anwendungen können nur auf die Daten zugreifen, indem sie die Ansicht abfragen.
Nun sind alle unsere Entity Beans aussehen:
@Entity
@Table(name = "PERMISSION")
@NamedQueries({
@NamedQuery(name = "Permission.findByPK", query = "SELECT p FROM Permission p WHERE p.dpNum = :dpNumber"),
@NamedQuery(name = "Permission.deleteAll", query = "DELETE FROM Permission") })
public class Permission implements Serializable {
}
- Erstens: Wie ist es möglich, Tabellen zu aktualisieren, wenn Sie erlaubt sind Ansichten zu verwenden. Können materialisierte Ansichten dafür verwendet werden?
- Zweitens, wie viel Umschreiben wird benötigt, wenn wir nur Views verwenden können? Z.B. Für jedes Eniry müssen wir schreiben @Table (Name = "PERMISSION_VIEW"), um die Entität zu beschreiben, ABER, wenn es eine Aktualisierung tut, muss es die Tabelle PERMISSION tun. Wie in aller Welt konsolidieren Sie dies in einer Entity-Bean?
Entschuldigen Sie die offtopic Frage bitte, aber warum sollte jemand das tun wollen? – kostja
Ich arbeite in einer großen Organisation und wir haben einige Datenbankrichtlinien, die von jemandem von irgendwo geschrieben wurden, der sagt, dass wir aus Sicherheits- und Managementgründen Ansichten verwenden müssen. –
Ihre Anwendung benötigt eindeutig Schreibzugriff auf die Datenbank. Ich sehe nicht, welche Sicherheit oder anderer Vorteil dies bietet, wenn Ihre Ansichten dieselben Daten enthalten wie Ihre Tabellen. –