为了账号安全,请及时绑定邮箱和手机立即绑定

java spring long [](数组)类型

java spring long [](数组)类型

www说 2021-04-04 08:11:15
如果我有下一个代码/** * Spring Data JPA repository for the Event entity. */@Repositorypublic interface EventRepository extends JpaRepository<Event, Long>{    @Query("SELECT id, name FROM event WHERE id IN (:ids)")    List<EventItem> findEvents(@Param("ids") Long[] ids);}并想要使用它Long[] ids = new Long[3];ids[0] = new Long(1);ids[1] = new Long(2);ids[2] = new Long(3);eventRepository.findEvents(ids);如何正确使用。我是Spring框架的初学者。我想同时获得一些带有特殊ID的记录。
查看完整描述

2 回答

?
慕桂英3389331

TA贡献2036条经验 获得超8个赞

使用JPA@NamedQuery 即


事件实体


@Entity

@Table(name = "event")

@NamedQuery(name = "Event.fetchEventItem",

        query = "SELECT id, name FROM event WHERE id IN (:ids)"

)

public class Event {

....

}

您的介面


 @Repository

    public interface EventRepository extends JpaRepository<Event, Long>{

        List<EventItem> findEvents(Long[] ids);

    }

接口实现类


@Repository

@Transactional(readOnly = true)

public class EventRepositoryImpl implements EventRepository {

 @PersistenceContext

 EntityManager entityManager;


     @Override

        public List<EventItem> findEvents(Long[] ids) {

        List<Event> list = new ArrayList<Event>();

         Query query = em.createNamedQuery("SELECT c FROM Country c");

            Query query = entityManager.createNamedQuery("Event.fetchEventItem", Event.class);

            query.setParameter(1, ids);

            list = query.getResultList();


            // Here You can Prapared List<EventItem>


        }



    }


查看完整回答
反对 回复 2021-04-14
  • 2 回答
  • 0 关注
  • 333 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信