Spring-从模型中的列表中获取字段

Spring-从模型中的列表中获取字段,spring,forms,hibernate,jsp,model-view-controller,Spring,Forms,Hibernate,Jsp,Model View Controller,我正在使用Spring+Hibernate创建项目,我有一个小问题: 我有实体Hop,实体国家。当我添加新的跳转表单时,有一个表单:select-此列表的选项来自DB-这是表单: <tr> <td><label>Origin:</label></td> <td> <form:select path="hopOrigin"> <form:option value="" label=

我正在使用Spring+Hibernate创建项目,我有一个小问题: 我有实体
Hop
,实体
国家
。当我添加新的跳转表单时,有一个
表单:select
-此列表的选项来自DB-这是表单:

<tr>
  <td><label>Origin:</label></td>
  <td>
    <form:select path="hopOrigin">
      <form:option value="" label="...." />
      <form:options items="${countryList}"/>
    </form:select>
  </td>
</tr>
最后,国家/地区服务是
@Autowired
CountryDaoImpl
,有一种方法:

@Override
    public List<Country> getCoutriesNames() {

        Session currentSession = sessionFactory.getCurrentSession();

        Query<Country> theQuery = currentSession.createQuery("SELECT countryName FROM Country");

        List<Country> countriesNames = theQuery.getResultList();

        return countriesNames;
    }
@覆盖
公共列表getCoutriesNames(){
会话currentSession=sessionFactory.getCurrentSession();
Query theQuery=currentSession.createQuery(“从国家中选择国家名称”);
List countriesNames=theQuery.getResultList();
返回国系统;
}
所以在and中,在这个下拉列表中,我只得到了
countryName
,而不是整个
Country
对象。这种方法需要在
HopControler
CountryService
CountryServiceImp
CountryDao
CountryDaoImp
中创建方法,以获得一个字段


我的问题:有没有更简单的方法(可能在JSP页面中)来获取这个下拉列表的
countryName

是的,我感觉到了你的痛苦,但不幸的是,这是推荐的实现方法

当然,您总是可以在Dao中创建一个新方法来返回
列表
,但是为什么要麻烦呢。将来,您可能需要在您的选择中使用其他财产,例如国家id或土地代码(美国、es、fr等)

当然,您可以始终缩短方法,例如:

@Override
    public List<Country> getCoutriesNames() {

        return sessionFactory.getCurrentSession().createQuery("SELECT countryName FROM Country").getResultList();

    }
@覆盖
公共列表getCoutriesNames(){
返回sessionFactory.getCurrentSession().createQuery(“从国家中选择国家名称”).getResultList();
}

感谢您的澄清
@Override
    public List<Country> getCoutriesNames() {

        return sessionFactory.getCurrentSession().createQuery("SELECT countryName FROM Country").getResultList();

    }