Ich habe eine Aufgabe bei der Arbeit, wo ich Hibernate und einige Klassen verwenden muss, die Ansichten zugeordnet sind. Die Aufgabe sagt, dass ich eine Auswahl in einer Ansicht erstellen sollte, die kein vollständiges Objekt der Klasse zurückgibt, sondern ein Objekt mit nur einigen Attributen der initialisierten Klasse. Ich dachte zuerst darüber nach, einen Konstruktor zu erstellen, der diese Felder nur als Parameter bekommt, aber ich kann keine Lösung im Web finden, die beide Möglichkeiten offen hält (Teile der Klasse und ganze Klasse). Jeder Vorschlag ist willkommen. Wenn Sie einen Code oder eine weitere Erklärung benötigen, fragen Sie danach.Erzwinge den Ruhezustand, um das vollständige Objekt NICHT abzurufen
Antwort
Sie können eine jpql-Abfrage erstellen oder die Kriterien api verwenden, um die gewünschten Attribute auszuwählen.
JPQL Tutorial ist http://docs.oracle.com/javaee/6/tutorial/doc/bnbtg.html
Criteria ist http://docs.oracle.com/javaee/6/tutorial/doc/gjivm.html
Sie unter Code verwenden können. erstellen CustomerProfile.class mit Getter und Setter
können Sie native SQL-Abfrage in Create() und holen Sie den Parameter, die Sie nur dann benötigen, können Sie Ihr Ergebnis in entsprechenden Klasse
Query query = ((SQLQuery) getSession().createSQLQuery(
"select First_name,Last_name,email_id,.. from view_name where customer_id=:customer_id").
setResultTransformer(Transformers.aliasToBean(CustomerProfile.class))).
setParameter("customer_id", cutsomer_id)
;
List<CustomerProfile> list = query.list();
verwandeln Sie benötigen.
Ich denke, dies negiert die Arbeit mit Ruhezustand ein wenig wegen der nativen sql – XtremeBaumer
Ihre Frage besagt, dass Sie Daten aus view.AFAIK abrufen möchten Sie können den Primärschlüssel nicht in Blickfeldern erstellen. Und Hibernate erfordert, dass das Modell einen Primärschlüssel haben sollte. Ich denke, die einzige Möglichkeit, Daten aus der Ansicht abzurufen, ist die Verwendung von native sql im Ruhezustand. – Vaibs
Hier liegen Sie falsch. Wenn eine Ansicht vorhanden ist, können Sie stattdessen einfach die Annotation "Tabelle" für die Ansicht angeben. das funktioniert ganz gut. ich mache es schon mit einem ganzen abject und jetzt auch mit nur noch Teilen des Objekts – XtremeBaumer
- 1. Ruhezustand, erzwinge Objekte aus Datenbank holen
- 2. Wie erzwinge zuul, um die Registrierungsinformationen vom Eureka-Server abzurufen?
- 3. Wie erzwinge ich Ruby, um die vollständige Stapelverfolgung anzuzeigen?
- 4. SendInput setzt das System in den Ruhezustand
- 5. Xpath, um den Textwert eines Knotens abzurufen
- 6. Daten können nicht von Objekt abzurufen
- 7. API, um den Confluence-Seiteninhalt über den Seitennamen abzurufen?
- 8. korrekte Weg, um ein einzelnes Objekt von Realm-Datenbank abzurufen
- 9. Erhalten Sie den Ruhezustand
- 10. data_bag_item, um einzelnen Schlüsselwert abzurufen
- 11. kann nicht in den Ruhezustand inheritence verwenden
- 12. Gibt es eine Möglichkeit, das IJavaElementDelta-Objekt von IResourceDelta abzurufen?
- 13. Histogramm zeichnet nicht das vollständige Array
- 14. Vermeiden Sie das iPhone in den Ruhezustand gehen
- 15. mit Backbone, um Daten in den Ruhezustand Server
- 16. Verwenden Sie sed, um den Dateinamen vom vollständigen Pfad abzurufen?
- 17. WPF - Erzwinge ShowDialog, um zurückzukehren
- 18. C# setzen PC in den Ruhezustand oder Ruhezustand
- 19. Wie wird das Array mit dem Objekt abgeglichen, um übereinstimmende Elemente abzurufen?
- 20. LINQ to SQL: GroupBy() und Max(), um das Objekt mit dem spätesten Datum abzurufen
- 21. Wie erzwinge ich das GInfoWindow um seinen Schwanz zu verkürzen?
- 22. Scala: Wie erzwinge das Umbrechen einer Ganzzahl als Objekt?
- 23. Erzwinge ein Feld, das nicht benötigt wird
- 24. Benachrichtigung zeigte nicht das vollständige Layout
- 25. Python Wie erzwinge Objekt Instanziierung über den Context Manager?
- 26. Xquery, um inneres Elementattribut abzurufen
- 27. Login mit Amazon-Taste, um das Kundenprofil abzurufen?
- 28. iOS: Syntax, um den Wert des Attributs im Array abzurufen?
- 29. GWT kann mein Objekt vom Ruhezustand nicht serialisieren
- 30. [Ruhezustand] Verschmelzen vorübergehendes Objekt mit Kindern
Ich verwende tatsächlich Kriterien, aber ich kann den Teil nicht finden, wo ich nur bestimmte Attribute auswähle. kannst du mir ein beispiel zeigen? oder ist es der Teil mit 'root.get (attributes)' innerhalb der Auswahl? – XtremeBaumer
und haben Sie eine Idee, wie ich maximal 1000 Datensätze abrufen kann, aber prüfen, ob das Ergebnis größer als 1000 wäre? Zur Zeit benutze ich 'setMaxResults()' – XtremeBaumer
root.get (Attribute) ist der einzige Weg, den ich bis jetzt kennen –