___ qstnhdr ___ Wie erhält man den SingularAttribute-Wert eines persistenten Objekts?
___ tag123jpa ___ Die Java Persistence API (JPA) ist eine Java-Spezifikation für den Zugriff, die Speicherung und die Verwaltung von Daten zwischen Java-Objekten / Klassen und einer relationalen Datenbank. Es ist Teil der EJB 3.0-Spezifikation und der Industriestandard für ORM (Object to Relational Mapping).
___ tag123persistence ___ Persistenz in der Computerprogrammierung bezieht sich auf die Fähigkeit, Daten außerhalb des Anwendungsspeichers zu speichern.
___ qstntxt ___
Ich habe ein persistentes Objekt (Aktion) und ein automatisch generiertes Datenmodell (Action_). Kann man mit einem Objekt der Action-Klasse und einer Instanz von SingularAttribute das Feld erhalten, das dem gegebenen SingularAttribute entspricht?
Ich brauche eine Funktion wie folgt:
%Vor%
Meine Entitätsklasse (Action.java):
%Vor%
Meine Metamodellklasse (Action_.java):
%Vor%
___ tag123javaee ___ Die Java Enterprise Edition (Java EE) ist eine Spezifikation, die eine Sammlung von Java-basierten Server- und Clienttechnologien und deren Interoperabilität definiert. Das [java-ee] -Tag ist rudimentär zu fokussierten Fragen über die spezifischeren APIs wie [jsf], [Servlets], [jpa], [cdi], [ejb] usw. Verwenden Sie es nur bei Problemen mit allgemeinen Kombinationen (zB Interaktion zwischen einzelnen APIs und / oder Anwendungsservern).
___ tag123metamodell ___ Metamodell ist eine Sammlung von Konzepten (Rahmen, Regeln, Begriffen, Einschränkungen, Modellen und Theorien), die für die Modellierung einer vordefinierten Klasse von Problemen anwendbar und nützlich sind.
___ answer7077923 ___
Sie können die Methode %code% verwenden, um das Element abzurufen, dann testen, ob dieses Element ein %code% oder ein %code% ist, und auf das Feld zugreifen oder die Methode für das Objekt mithilfe der Reflektion aufrufen.
Sie müssen wahrscheinlich das Feld oder die Methode zugänglich machen, bevor Sie darauf zugreifen / es aufrufen. Und Sie müssen auch die Umwandlung primitiver Typen in Objekte behandeln.
Die Hauptfrage ist: Warum brauchen Sie das?
Wenn Sie es nur für diese spezifische Entitätsklasse benötigen, können Sie einfach einen Schalter für den Attributnamen verwenden und den entsprechenden Wert zurückgeben:
%Vor%
___ answer9360135 ___
Wie JB Nizet vorgeschlagen hat, können Sie %code% verwenden. Ich habe festgestellt, dass ich keine privaten Felder festlegen muss, um zugänglich zu sein, vielleicht hat Hibernate dies bereits getan.
Falls das hilfreich ist, hier ein Code, der für mich funktioniert:
%Vor%
___