Error of "no transaction is in progress" at Service Creation from UUI
[usecase-ui/server.git] / server / src / main / java / org / onap / usecaseui / server / hibernate / HibernateConfiguration.java
1 /**\r
2  * Copyright (C) 2017 CMCC, Inc. and others. All rights reserved.\r
3  *\r
4  * Licensed under the Apache License, Version 2.0 (the "License");\r
5  * you may not use this file except in compliance with the License.\r
6  * You may obtain a copy of the License at\r
7  *\r
8  *     http://www.apache.org/licenses/LICENSE-2.0\r
9  *\r
10  * Unless required by applicable law or agreed to in writing, software\r
11  * distributed under the License is distributed on an "AS IS" BASIS,\r
12  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r
13  * See the License for the specific language governing permissions and\r
14  * limitations under the License.\r
15  */\r
16 package org.onap.usecaseui.server.hibernate;\r
17 \r
18 import java.util.Properties;\r
19 \r
20 import javax.sql.DataSource;\r
21 \r
22 import org.springframework.beans.factory.annotation.Autowired;\r
23 import org.springframework.context.annotation.Bean;\r
24 import org.springframework.context.annotation.Configuration;\r
25 import org.springframework.core.env.Environment;\r
26 import org.springframework.orm.hibernate5.LocalSessionFactoryBean;\r
27 import org.springframework.orm.jpa.JpaTransactionManager;\r
28 import org.springframework.transaction.PlatformTransactionManager;\r
29 \r
30 \r
31 @Configuration\r
32 public class HibernateConfiguration\r
33 {\r
34     @Autowired\r
35     private Environment environment;\r
36 \r
37     @Autowired\r
38     private DataSource dataSource;\r
39 \r
40     @Bean\r
41     public LocalSessionFactoryBean sessionFactory() {\r
42 \r
43         LocalSessionFactoryBean sessionFactory = new LocalSessionFactoryBean();\r
44         sessionFactory.setDataSource(dataSource);\r
45         sessionFactory.setHibernateProperties(hibernateProperties());\r
46         sessionFactory.setPackagesToScan(new String[] {"org.onap.usecaseui.server.bean"});\r
47         return sessionFactory;\r
48     }\r
49 \r
50     private Properties hibernateProperties() {\r
51         Properties properties = new Properties();\r
52         properties.put("hibernate.dialect", "org.hibernate.dialect.PostgreSQL9Dialect");\r
53         properties.setProperty("hibernate.current_session_context_class", environment.getProperty("spring.jpa.properties.hibernate.current_session_context_class"));\r
54         properties.setProperty("hibernate.show-sql", environment.getProperty("spring.jpa.properties.hibernate.show-sql"));\r
55         properties.setProperty("hibernate.cache.use_second_level_cache", environment.getProperty("spring.jpa.properties.hibernate.cache.use_second_level_cache"));\r
56         properties.setProperty("hibernate.cache.use_query_cache", environment.getProperty("spring.jpa.properties.hibernate.cache.use_query_cache"));\r
57         return properties;        \r
58     }\r
59 \r
60     @Bean\r
61     public PlatformTransactionManager transactionManager() {\r
62         return new JpaTransactionManager();\r
63     }\r
64 \r
65 }\r