現在、私のプロジェクトはJPAをデータベース接続に使用しています。Apache Olingoでフィールドを無視する
私はデフォルトのOdataJPAプロセッサも使用しています。
ではなく、では、odata2 APIの応答に特定のフィールド(「パスワード」など)を含めることができます。または、私は本当にcustomOdataJPAProcessorを実装する必要がありますか?
現在、私のプロジェクトはJPAをデータベース接続に使用しています。Apache Olingoでフィールドを無視する
私はデフォルトのOdataJPAプロセッサも使用しています。
ではなく、では、odata2 APIの応答に特定のフィールド(「パスワード」など)を含めることができます。または、私は本当にcustomOdataJPAProcessorを実装する必要がありますか?
一部のJPAエンティティ属性を除外する最も簡単な方法は、JPA-EDMマッピングモデルを定義することです。これは基本的にthis schemaに従うXMLファイルです。詳細については、redefining OData JPA metadataのドキュメントを参照してください。
マッピングモデルXMLをリンクするには、WEB-INFフォルダにあるファイルのファイル名を指定するか(WARを作成することを前提とします)、または十分に柔軟でない場合は、 JPA EDM extensionとreturn the mapping model file as a streamを作成できます。
これは、このようなファイルは次のように見えるかもしれ方法です。
<?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>