Java 如何在SpringMVC应用程序中使用hibernate从db中获取参考数据?
我正在使用hibernate开发SpringMVC应用程序。我们已经创建了一些实体,如位置、联系人等,以及它们各自的控制器和DAO。以下是我的dispatcher servlet部分:Java 如何在SpringMVC应用程序中使用hibernate从db中获取参考数据?,java,hibernate,spring-mvc,Java,Hibernate,Spring Mvc,我正在使用hibernate开发SpringMVC应用程序。我们已经创建了一些实体,如位置、联系人等,以及它们各自的控制器和DAO。以下是我的dispatcher servlet部分: <bean id="jndiDataSource" class="org.springframework.jndi.JndiObjectFactoryBean"> <property name="jndiName" value="java:/MySqlDS" />
<bean id="jndiDataSource" class="org.springframework.jndi.JndiObjectFactoryBean">
<property name="jndiName" value="java:/MySqlDS" />
</bean>
<bean id="sessionFactory" class="org.springframework.orm.hibernate4.LocalSessionFactoryBean">
<property name="dataSource" ref="jndiDataSource" />
<property name="packagesToScan" value="com.bizmerlin.scm"></property>
</bean>
<bean id="transactionManager" class="org.springframework.orm.hibernate4.HibernateTransactionManager">
<property name="sessionFactory" ref="sessionFactory"></property>
</bean>
<bean id="contactService" class="com.bizmerlin.scm.services.ContactService"/>
<bean id="contactDao" class="com.bizmerlin.scm.dao.ContactDao"/>
但在联系方式页面上,我需要显示国家下拉列表。我已将国家列表放入数据库。我们如何在不创建国家模型、dao、控制器等的情况下获取国家列表?如果您想将国家作为一个实体并将其映射到其他实体bean,那么您必须创建模型(如果“模型”是指实体bean)。要访问它,您需要一个DAO方法。要在页面上显示它,您需要一个控制器方法 所以,我想这是没有办法的。例如,若您只需要在其他实体中使用国家名称作为字符串,那个么您可以在不创建实体的情况下进行操作,但仍然需要DAO和controller方法 取决于您的项目,但您不需要创建单独的DAO和控制器类。您只需要为国家/地区使用新方法,就可以将它们放在一些已经存在的类中 如果您只需要国家名称,那么在DAO类中需要如下内容:
public List<String> findCountryNames() {
return session.createSQLQuery("select name from country").list();
}
公共列表findCountryNames(){
return session.createSQLQuery(“从国家/地区选择名称”).list();
}
以及一个控制器方法,该方法将返回这些结果。我只需要在联系人实体中使用国家名称。我该怎么做?
public List<String> findCountryNames() {
return session.createSQLQuery("select name from country").list();
}