use EntityProvider annotation