2016-06-18 2 views
0

나는 angularjs spring mvc 프로젝트에서 작업 중이며 최대 절전 모드를 사용하여 테이블 생성 문제를 직면하고있다.Hibernate Spring : 테이블이 생성되지 않음 [실패 : 테이블이 존재하면 테이블 놓기]

INFO: HV000001: Hibernate Validator 5.2.2.Final 
Jun 18, 2016 4:54:49 AM org.hibernate.tool.hbm2ddl.SchemaExport execute 
INFO: HHH000227: Running hbm2ddl schema export 
Hibernate: drop table if exists AppUser 
Jun 18, 2016 4:54:49 AM org.hibernate.tool.hbm2ddl.SchemaExport perform 
ERROR: HHH000389: Unsuccessful: drop table if exists AppUser 
Jun 18, 2016 4:54:49 AM org.hibernate.tool.hbm2ddl.SchemaExport perform 
ERROR: ORA-00933: SQL command not properly ended 

Hibernate: create table AppUser (id integer not null auto_increment, dob varchar(255), email varchar(50), firstName varchar(255), lastName varchar(255), password varchar(255) not null, primary key (id)) 
Jun 18, 2016 4:54:49 AM org.hibernate.tool.hbm2ddl.SchemaExport perform 
ERROR: HHH000389: Unsuccessful: create table AppUser (id integer not null auto_increment, dob varchar(255), email varchar(50), firstName varchar(255), lastName varchar(255), password varchar(255) not null, primary key (id)) 
Jun 18, 2016 4:54:49 AM org.hibernate.tool.hbm2ddl.SchemaExport perform 
ERROR: ORA-00907: missing right parenthesis 

모델 클래스는

@Configuration 
@EnableTransactionManagement 
public class AppDatabaseConfig { 

    @Bean 
    public HikariDataSource dataSource() { 
     final HikariDataSource ds = new HikariDataSource(); 
     ds.setMaximumPoolSize(100); 
     ds.setDriverClassName("oracle.jdbc.driver.OracleDriver"); 
     ds.setJdbcUrl("jdbc:oracle:thin:@localhost:1521:XE"); ; 
     ds.setUsername(""); 
     ds.setPassword(""); 
     return ds; 
    } 

    @Bean 
    public HibernateTransactionManager transactionManager() { 
     HibernateTransactionManager manager = new HibernateTransactionManager(); 
     manager.setSessionFactory(hibernate5SessionFactoryBean().getObject()); 
     return manager; 
    } 

    @Bean 
    public LocalSessionFactoryBean hibernate5SessionFactoryBean(){ 
     LocalSessionFactoryBean localSessionFactoryBean = new LocalSessionFactoryBean(); 
     localSessionFactoryBean.setDataSource(dataSource()); 
     localSessionFactoryBean.setAnnotatedClasses(AppUser.class); 

     Properties properties = new Properties(); 
     properties.put("hibernate.dialect","org.hibernate.dialect.MySQLDialect"); 
     //properties.put("hibernate.current_session_context_class","thread"); 
     properties.put("hibernate.hbm2ddl.auto","create"); 
     properties.put("hibernate.show_sql","true"); 

     localSessionFactoryBean.setHibernateProperties(properties); 
     return localSessionFactoryBean; 
    } 

} 

같은 데이터 설정 파일보기 내가 갱신/createdrop/생성하지만 오류 매번를 제공 chaning 시도

@Entity 
public class AppUser { 


    @Id 
    @GeneratedValue(strategy = GenerationType.IDENTITY) 
    private int id; 

    @Email 
    @Size(max = 50) 
    private String email; 

    @Column 
    private String dob; 

    @Column 
    private String firstName; 

    @Column 
    private String lastName; 

    @Column(name = "password", nullable = false) 
    private String password; 

    //getter setter 

} 

과 같은 간단한 클래스입니다. DB에 테이블이 없습니다. 이 문제를 해결하는 방법을 모르십니까?

+0

사용 oracle.jdbc.OracleDriver 대신 오라클을 선택

org.hibernate.dialect.Oracle10gDialect

공식 링크를 참조하시기 바랍니다 사용해야합니다. jdbc.driver.OracleDriver. 및 hibernate.connection.driver_class = oracle.jdbc.driver.OracleDriver – Azim

+0

어떤 mysql 데이터베이스 엔진을 사용하고 있습니까? 이것은 hibernate.dialect mismatch 때문일 수 있습니다. 생성 된 SQL이 데이터베이스 엔진과 호환되지 않을 수 있습니다. –

+0

Oracle 11g – user3342812

답변

관련 문제