【问题标题】:How i can add data from database to HashMap in Spring and Hibernate我如何在 Spring 和 Hibernate 中将数据从数据库添加到 HashMap
【发布时间】:2015-01-25 21:12:54
【问题描述】:

我想知道如何在 Spring 中使用 Hibernate 将数据从数据库添加到 HashMap,以便在 JSF 文件的下拉列表中进行选择。

我尝试这样做:

从DAO文件查询:

@Override
@Transactional(readOnly = false)
public List<Groups> getNameGroup() {
    // TODO Auto-generated method stub
    List<Groups> list = getSessionFactory().getCurrentSession().createQuery("SELECT GRNAME FROM Groups").list();

    return list;
}

通过这种方式,我将这些数据从数据库添加到列表中:

public List<Groups> getListagrup() {
    listagrup = new ArrayList<Groups>();
    listagrup = getGroupService().getNameGroup();
    System.out.println("logowanie: " + listagrup);


    return listagrup;
}

我想将列表值添加到 HashMap :

public void init() {
    groupsnames = new HashMap<Groups,Groups>();
    groupsnames.put(listagrup.get(1),listagrup.get(1));
}

这是片段 JSF 文件,我想从 HAshMap 中选择这个值:

<p:selectOneMenu id="title" value="#{scheduleBean.title}" style="width:150px">

  <f:selectItem itemLabel="Select Group Name" itemValue="" noSelectionOption="true" />
  <f:selectItems value="#{scheduleBean.groupsnames}" />
</p:selectOneMenu>

所以,在这种情况下,我在下拉列表中没有数据。我可以做些什么来在 Spring 中使用 Hibernate 将数据从数据库添加到 HashMap 以在 JSF 文件的下拉列表中选择它?

【问题讨论】:

  • 欢迎来到 Stack Overflow。请务必阅读本指南至asking good questions。特别是,您的代码格式错误-我已对其进行了编辑。但是 - 您还想明确说明您的要求 - 您看到的行为以及 您对代码的期望

标签: java spring hibernate jsf hashmap


【解决方案1】:

您可能对填充Hashmap 的方式有疑问。 通常你有一个键值对,其中 key 用于定位成对的 value

groupsnames = new HashMap<Groups,Groups>();
groupsnames.put(listagrup.get(1),listagrup.get(1));

在上面的代码中,您将 Group 对象分配为您的 key

Groups 是否包含主键?如果您将Hashmap 的键设置为Stringint,这可能会更容易,具体取决于您的主键:

groupsnames = new HashMap<String,Groups>();
groupsnames.put(listagrup.get(1).getYourPrimaryKey,listagrup.get(1));

这可能会引导您在 JSF 上找到正确的方向(您没有发布您的 Group 课程)。希望这会有所帮助。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2023-01-19
    • 2022-01-08
    • 2012-06-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-02-07
    • 1970-01-01
    相关资源
    最近更新 更多