2016-06-18 11 views
0

私はangularjs spring mvcプロジェクトで作業しており、hibernateを使用してテーブルを作成しています。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 

モデルクラスは

@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 

} 

@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試みたが、エラー毎回を与えます。 DBにはテーブルが含まれていません。これを解決する方法がわからないのですか?

+0

利用oracle.jdbc.OracleDriverの代わりに、Oracleの適切な方言を選択するために、公式のリンクを参照してください

org.hibernate.dialect.Oracle10gDialect

を使用する必要があります。 jdbc.driver.OracleDriver。 およびhibernate.connection.driver_class = oracle.jdbc.driver.OracleDriver – Azim

+0

使用しているMySQLデータベースエンジンはどれですか。これは、hibernate.dialectの不一致による可能性があります。生成されたsqlがデータベースエンジンと互換性がない可能性があります –

+0

oracle 11gを使用しています – user3342812

答えて

関連する問題