gpt4 book ai didi

hibernate - 如何使用 HQL 返回 Map

转载 作者:行者123 更新时间:2023-12-03 07:57:26 27 4
gpt4 key购买 nike

我有一张 table

权限 :

  • 编号
  • 姓名
  • 描述

  • 我现在在做什么
    是进行一个返回权限对象的查询,然后以编程方式将值放入映射中

    1- 但我想知道是否可以制作一个 HQL(或本地 sql,如果不可能)来选择 权限ID , 权限名 并将它们返回到 map 中。

    2-是否可以以一对多关系而不是以下列表或集合返回 map
    @OneToMany(cascade = CascadeType.ALL, fetch = FetchType.LAZY)
    @JoinTable(name = "perm_cat_map", joinColumns = { @JoinColumn(name = "perm_cat_id") }, inverseJoinColumns = { @JoinColumn(name = "permission_id") })
    private List<Permission> permissions = new ArrayList<Permission>(0);

    是否有可能有类似的东西:
    @OneToMany(cascade = CascadeType.ALL, fetch = FetchType.LAZY)
    @JoinTable(name = "perm_cat_map", joinColumns = { @JoinColumn(name = "perm_cat_id") }, inverseJoinColumns = { @JoinColumn(name = "permission_id") })
    private Map<String,String> permissions = new ArrayList<String,String>(0);

    其中两个字符串是 权限ID , 权限名 .

    最佳答案

    试试这样

    Session session = sessionFactory.getCurrentSession();
    String HQL_QUERY = "select new map(user.id as id, user.firstName as fullName) from User user";
    List<Map<String,String>> usersList = session.createQuery(HQL_QUERY).list();

    关于hibernate - 如何使用 HQL 返回 Map<Key, Value>,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7876724/

    27 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com