package com.farata.example.service; import java.util.List; import com.farata.example.entity.Company; import com.farata.example.entity.Associate; import clear.cdb.extjs.annotations.JSGenerateStore; import clear.cdb.extjs.annotations.JSGenerateSample; import clear.cdb.extjs.annotations.JSJPQLMethod; import clear.cdb.extjs.annotations.JSService; import clear.cdb.extjs.annotations.JSTransferInfo; import clear.cdb.extjs.annotations.JSUpdateInfo; @JSService public interface ICompanyService { @JSGenerateSample @JSGenerateStore @JSJPQLMethod( query="SELECT c FROM Company c", transferInfo=@JSTransferInfo(type="com.farata.example.dto.CompanyDTO"), updateInfo=@JSUpdateInfo(updateEntity=Company.class, keyPropertyNames="id", updatablePropertyNames="companyName", autoSyncEnabled=true) ) List<?> getCompanies(); @JSGenerateSample @JSGenerateStore @JSJPQLMethod( query="SELECT a.id, a.companyId, a.associateName FROM Associate a WHERE a.companyId=:companyId", transferInfo=@JSTransferInfo(type="com.farata.example.dto.AssociateDTO"), updateInfo=@JSUpdateInfo(updateEntity=Associate.class, keyPropertyNames="id", updatablePropertyNames="companyId,associateName", autoSyncEnabled=true) ) List<?> getAssociates(Integer companyId); }