2016-12-21 2 views
0

я получаю ORA-00942: table or view does not exist во время выполнения, когда код достигает эту строку: session.merge(role);Как отлаживать неявный запрос, выполняемый Hibernate?

Так как показать текст запроса выполняется во время этого слияния?

обновление:

вот как я настроил приложение:

@Configuration 
@ComponentScan("com.ambre.pta") 
@EnableTransactionManagement 
@PropertySources({ 
    @PropertySource("classpath:jdbc.properties"), 
    @PropertySource("classpath:fr/global.properties"), 
    @PropertySource("classpath:fr/main.properties"), 
    @PropertySource("classpath:fr/admin.properties"), 
    @PropertySource("classpath:fr/referentiel.properties"), 
    @PropertySource("classpath:fr/departement.properties"), 
    @PropertySource("classpath:fr/exercice.properties"), 
    @PropertySource("classpath:fr/defi.properties") 
}) 
public class ApplicationContextConfig { 

    @Autowired 
    private Environment env; 

    @Bean 
    public static PropertySourcesPlaceholderConfigurer properties() { 
     return new PropertySourcesPlaceholderConfigurer(); 
    } 

    @Bean(name = "viewResolver") 
    public InternalResourceViewResolver getViewResolver() { 
     InternalResourceViewResolver viewResolver = new InternalResourceViewResolver(); 
     viewResolver.setPrefix("/WEB-INF/views/"); 
     viewResolver.setSuffix(".jsp"); 
     return viewResolver; 
    } 

    @Bean(name = "dataSource") 
    public DataSource getDataSource() { 

     BasicDataSource dataSource = new BasicDataSource(); 

     dataSource.setDriverClassName("oracle.jdbc.driver.OracleDriver"); 
     dataSource.setUrl("jdbc:oracle:thin:@"+env.getProperty("jdbc.server")+":"+env.getProperty("jdbc.port")+":"+env.getProperty("jdbc.instance")); 
     dataSource.setUsername(env.getProperty("jdbc.login.default")); 
     dataSource.setPassword(env.getProperty("jdbc.pwd.default")); 

     return dataSource; 

    } 

    @Autowired 
    @Bean(name = "sessionFactory") 
    public SessionFactory getSessionFactory(DataSource dataSource) { 

     LocalSessionFactoryBuilder sessionBuilder = new LocalSessionFactoryBuilder(dataSource); 

     sessionBuilder.scanPackages("com.ambre.pta.model"); 

     return sessionBuilder.buildSessionFactory(); 

    } 

    @Autowired 
    @Bean(name = "transactionManager") 
    public HibernateTransactionManager getTransactionManager(SessionFactory sessionFactory) { 

     HibernateTransactionManager transactionManager = new HibernateTransactionManager(sessionFactory); 

     return transactionManager; 

    } 

    @Autowired 
    @Bean(name = "utilisateurDao") 
    public UtilisateurDAO getUtilisateurDao(SessionFactory sessionFactory) { 
     return new UtilisateurDAOImpl(sessionFactory); 
    } 

    @Autowired 
    @Bean(name = "menuDao") 
    public MenuDAO getMenuDao(SessionFactory sessionFactory) { 
     return new MenuDAOImpl(sessionFactory); 
    } 

    ... 

} 
+0

Отладка означает печать/просмотр? –

+0

yes, показать текст запроса в консоли. – pheromix

ответ

2

Пожалуйста, добавьте ниже тег в спящем конфигурации

<property name="show_sql">true</property> 
+0

Вы имеете в виду в 'pom.xml', соответствующем зависимости hibernate? – pheromix

+0

Как вы настроили спящий режим? Java или XML? Если это XML, как правило, будет hibernate.cfg.xml –

+0

В pom.xml: ' \t \t \t org.hibernate \t \t \t гибернации-жильный \t \t \t 4.3.5 .Финал \t \t ' – pheromix

1

взгляд в

  1. Конфигурационный файл hibernate
  2. файл application.yml, может быть конфигурация спящего режима и show-sql: true.
Смежные вопросы