La manière la plus simple d'exclure certains attributs d'entité JPA consiste à définir un modèle de mappage JPA-EDM. Ceci est essentiellement un fichier XML qui adhère à this schema. Vous pouvez en lire plus à ce sujet dans la documentation ici: redefining OData JPA metadata. Vous avez deux manières différentes de lier le modèle de mappage XML, soit vous spécifiez un nom de fichier d'un fichier situé dans le dossier WEB-INF (en supposant que vous construisez un fichier WAR), ou, si cela n'est pas assez flexible, vous pouvez créer un JPA EDM extension et return the mapping model file as a stream.
Voici comment un tel fichier peut ressembler à:
<?xml version="1.0" encoding="UTF-8"?>
<JPAEDMMappingModel xmlns="http://www.apache.org/olingo/odata2/jpa/processor/api/model/mapping">
<PersistenceUnit name="My_Persistence_Unit">
<JPAEntityTypes>
<JPAEntityType name="MyEntity">
<EDMEntityType>MyEntity</EDMEntityType>
<EDMEntitySet>MyEntities</EDMEntitySet>
<JPAAttributes>
<JPAAttribute name="attribute" exclude="true" />
</JPAAttributes>
<JPARelationships />
</JPAEntityType>
</JPAEntityTypes>
<JPAEmbeddableTypes />
</PersistenceUnit>
</JPAEDMMappingModel>