繁体   English   中英

我如何在Spring和Hibernate中将数据从数据库添加到HashMap

[英]How i can add data from database to HashMap in Spring and Hibernate

我想知道如何使用Hibernate在Spring中将数据库中的数据添加到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>

因此,在这种情况下,下拉列表中没有数据。 我如何使用Hibernate在Spring中将数据库中的数据添加到HashMap中,以在JSF文件的下拉列表中选择它?

您可能对如何填充Hashmap有问题。 通常您有一个键-值对,其中用于查找配对

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

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

Groups是否包含主键? 如果根据主键将Hashmap的键设置为Stringint ,可能会更容易:

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

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM