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에 테이블이 없습니다. 이 문제를 해결하는 방법을 모르십니까?
사용 oracle.jdbc.OracleDriver 대신 오라클을 선택
공식 링크를 참조하시기 바랍니다 사용해야합니다. jdbc.driver.OracleDriver. 및 hibernate.connection.driver_class = oracle.jdbc.driver.OracleDriver – Azimorg.hibernate.dialect.Oracle10gDialect
어떤 mysql 데이터베이스 엔진을 사용하고 있습니까? 이것은 hibernate.dialect mismatch 때문일 수 있습니다. 생성 된 SQL이 데이터베이스 엔진과 호환되지 않을 수 있습니다. –
Oracle 11g – user3342812