これを実現する最も簡単な方法は、次のよう<finder>
に特定のフィールドのノードをに追加し(はエンティティ名、はフィールド名、は のファインダ エントリの名前です)、サービスを構築することです。service.xml
Location
name
Name
service.xml
<column name="name" type="String" />
<finder name="Name" return-type="Collection">
<finder-column name="name" />
</finder>
ビルドが成功すると、その列に基づいてサービスに CRUD 操作が作成されます。で次のメソッドを見つけることができますLocationUtil.java
。
findByName,
removeByName,
countByName,
に次の (新しい) メソッドを作成しますLocationLocalServiceImpl.java
。
public void deleteLocationsByName(String name){
try{
LocationUtil.removeByName(name);
}catch(Exception ex){
// log your exception
}
}
繰り返しますが、サービスの構築時に、このメソッドはアクション クラス from で使用LocationLocalServiceUtil.java
できるようになり、次のように呼び出すことができます。
public void deleteLocation(req, res){
String locationName = request.getParameter("locationName");
LocationLocalServiceUtil.deleteLocationsByName(locationName);
}
これで、カスタム finder メソッドがサービスに追加されました。