0
我想放在XML file.I所有SQL查詢正在使用Spring引導和原生sql語句Java的休眠存儲SQL查詢XML文件中
冬眠有人可以給我提供的例子,如何加載和得到查詢在Spring啓動和休眠時從xml文件中的字符串。
我在應用程序中使用基於java的配置。
配置文件看起來像如下:
@SpringBootApplication
@PropertySources({
@PropertySource(value = "classpath:application.properties")
})
@EnableAutoConfiguration`enter code here`
@Configuration
public class BootApplication extends SpringBootServletInitializer {
@Override
protected SpringApplicationBuilder configure(SpringApplicationBuilder application) {
return application.sources(BootApplication.class);
}
public static void main(String[] args) throws Exception {
SpringApplication.run(BootApplication.class, args);
}
@Bean
public SessionFactory sessionFactory(HibernateEntityManagerFactory hemf) {
return hemf.getSessionFactory();
}
}
XML文件如下:
<?xml version="1.0" encoding="UTF-8"?>
<properties>
<entry key="getUsersById">
<![CDATA[
Select * From User
Where id =?
]]>
</entry>
<entry key="getPersonBySSN">
<![CDATA[
]]>
</entry>
</properties>
下面是Java Hibernate代碼不動,SQL爲xml file.I需要移動sql語句到XML因爲應用程序中有很多查詢。
public List<User> getUsers(String id) {
List<User> users = new ArrayList<User>();
try {
String sql = "Select * From User Where id =?";
SQLQuery query = getSession().createSQLQuery(sql);
query.setParameter(0, id); query.setResultTransformer(Transformers.aliasToBean(User.class))
users = (List<User>) query.list();
} catch (Exception e) {
logger.error("Error", e);
}
return users;
}
有人可以請提供示例將sql查詢移動到xml文件並使用它java代碼?