Die Implementierung meiner Entitäten generiert und ich habe wenig Kontrolle über sie. Das Hauptproblem, mit dem ich konfrontiert bin, ist, dass die boolesche Felder-Getter-Methode eine andere Namenskonvention hat: is<FieldName>()
.javax.persistence PROPERTY Zugriff benutzerdefinierte Getter/Setter-Namen
public class Bookmark {
/**
* @generated
*/
public boolean isIsPrivate() {
...
}
/**
* @generated
*/
public void setIsPrivate(boolean newIsPrivate) {
...
}
}
Die spezielle Implementierung fehlt tatsächliche Felder auf der Einheit, ich weiß, es klingt verrückt, aber es ist wie es ist. Daher muss ich den Zugriff auf PROPERTY verwenden. Da ich nicht ändern kann, wie der Code generiert wird, mache ich das in einer orm.xml Mapping-Datei:
<?xml version="1.0" encoding="UTF-8"?>
<entity-mappings version="2.1"
xmlns="http://xmlns.jcp.org/xml/ns/persistence/orm"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/persistence/orm http://xmlns.jcp.org/xml/ns/persistence/orm_2_1.xsd">
<persistence-unit-metadata>
<xml-mapping-metadata-complete/>
</persistence-unit-metadata>
<package>org.hibernate.ogm.backendtck.type.ogmemf.impl</package>
...
<entity class="Bookmark" access="PROPERTY">
<attributes>
<basic name="isPrivate"/>
</attributes>
</entity>
</entity-mappings>
Dies ist jedoch in hiberante führt eine getIsPrivate()
Methode suchen, die es nicht gibt.
Da ich den PROPERTY-Zugriff verwenden muss, aber meine Methoden nicht den JavaBeens-Konventionen folgen, kann ich Hiberante irgendwie dazu überreden, nach einer bestimmten Methode oder einem Muster zu suchen, damit ich die is<FieldName>()
Methoden zuordnen kann?
kann nicht verstehen, teilen Sie den Code bitte. –
Ummm ... 'ist()' folgt bereits der Konvention, es sei denn, es ist ein 'java.lang.Boolean' im Gegensatz zu einem primitiven' boolean' –
crizzis