I just tried with Contains and Containing in the name of the derived query and I get an exception. Basically it looks like it is running some query, but it says the results are not of the same type as my domain object.
Code:
public interface ItemRepository extends GraphRepository<Item> {
Page<Item> findByDescriptionLike(String description, Pageable page);
Page<Item> findByDescriptionContaining(String description, Pageable page);
Page<Item> findByDescription(String description, Pageable page);
Page<Item> findByBarcode(String barcode, Pageable page);
//ITEM_NEEDED_FOR_EVENT
@Query("start event=node({0}) " +
"match event-[itemNeeded:" + Event.ITEMS_NEEDED_FOR_EVENT + "]->item " +
"return itemNeeded " +
"order by events.eventDate desc")
Page<ItemNeededForEvent> findItemsNeededByEvent(Event event, Pageable page);
@Query("start user=node({user}), event=node({eventId}) " +
"match user-[host?:HOSTS]->event, " +
"event-[:ITEMS_NEEDED]->neededItem-[:ITEM]->item, " +
"event-[:ITEMS_SIGNED_UP_FOR]-> signedUpToBringToEvent-[userSignedUp?:USER]->user " +
"return host!=null as isHost, ID(neededItem) as neededItemId, neededItem.quantity as quantity, item.name as itemName, " +
"userSignedUp!=null as currentUserSignedUp, ID(signedUpToBringToEvent) as itemSignedUpId")
Page<ItemsForEventsPage> findItemsByEvent(User user, Long eventId, Pageable page);
}
Thanks
Mark