mysql - Spring Boot Application Failed to start -
i new spring boot , having trouble in resolving error , glad if me out
this error getting complete exception
my dialect innodb
org.springframework.beans.factory.beancreationexception: error creating bean name 'entitymanagerfactory' defined in class path resource [org/springframework/boot/autoconfigure/orm/jpa/hibernatejpaautoconfiguration.class]: invocation of init method failed; nested exception javax.persistence.persistenceexception: [persistenceunit: default] unable build hibernate sessionfactory @ org.springframework.boot.springapplication.refresh(springapplication.java:693) [spring-boot-1.5.6.release.jar:1.5.6.release] @ org.springframework.boot.springapplication.refreshcontext(springapplication.java:360) [spring-boot-1.5.6.release.jar:1.5.6.release] @ org.springframework.boot.springapplication.run(springapplication.java:303) [spring-boot-1.5.6.release.jar:1.5.6.release] @ org.springframework.boot.springapplication.run(springapplication.java:1118) [spring-boot-1.5.6.release.jar:1.5.6.release] @ org.springframework.boot.springapplication.run(springapplication.java:1107) [spring-boot-1.5.6.release.jar:1.5.6.release] @ com.mediaocean.hotelproject.application.main(application.java:10) [classes/:na] caused by: javax.persistence.persistenceexception: [persistenceunit: default] unable build hibernate sessionfactory @ org.hibernate.jpa.boot.internal.entitymanagerfactorybuilderimpl.persistenceexception(entitymanagerfactorybuilderimpl.java:954) ~[hibernate-entitymanager-5.0.12.final.jar:5.0.12.final] @ org.hibernate.jpa.boot.internal.entitymanagerfactorybuilderimpl.build(entitymanagerfactorybuilderimpl.java:882) ~[hibernate-entitymanager-5.0.12.final.jar:5.0.12.final] @ org.springframework.orm.jpa.vendor.springhibernatejpapersistenceprovider.createcontainerentitymanagerfactory(springhibernatejpapersistenceprovider.java:60) ~[spring-orm-4.3.10.release.jar:4.3.10.release] @ org.springframework.orm.jpa.localcontainerentitymanagerfactorybean.createnativeentitymanagerfactory(localcontainerentitymanagerfactorybean.java:353) ~[spring-orm-4.3.10.release.jar:4.3.10.release] @ org.springframework.orm.jpa.abstractentitymanagerfactorybean.buildnativeentitymanagerfactory(abstractentitymanagerfactorybean.java:370) ~[spring-orm-4.3.10.release.jar:4.3.10.release] @ org.springframework.orm.jpa.abstractentitymanagerfactorybean.afterpropertiesset(abstractentitymanagerfactorybean.java:359) ~[spring-orm-4.3.10.release.jar:4.3.10.release] @ org.springframework.beans.factory.support.abstractautowirecapablebeanfactory.invokeinitmethods(abstractautowirecapablebeanfactory.java:1687) ~[spring-beans-4.3.10.release.jar:4.3.10.release] @ org.springframework.beans.factory.support.abstractautowirecapablebeanfactory.initializebean(abstractautowirecapablebeanfactory.java:1624) ~[spring-beans-4.3.10.release.jar:4.3.10.release] ... 16 common frames omitted caused by: org.hibernate.tool.schema.spi.schemamanagementexception: unable execute schema management jdbc target [alter table review add constraint fki0ly7ivbh8ijdgoi7cwtuoavt foreign key (hotel_id) references hotel (hotel_id)] @ org.hibernate.tool.schema.internal.targetdatabaseimpl.accept(targetdatabaseimpl.java:59) ~[hibernate-core-5.0.12.final.jar:5.0.12.final] @ org.hibernate.tool.schema.internal.schemamigratorimpl.applysqlstring(schemamigratorimpl.java:431) ~[hibernate-core-5.0.12.final.jar:5.0.12.final] @ org.hibernate.tool.schema.internal.schemamigratorimpl.applysqlstrings(schemamigratorimpl.java:420) ~[hibernate-core-5.0.12.final.jar:5.0.12.final] @ org.hibernate.tool.schema.internal.schemamigratorimpl.applyforeignkeys(schemamigratorimpl.java:386) ~[hibernate-core-5.0.12.final.jar:5.0.12.final] @ org.hibernate.tool.schema.internal.schemamigratorimpl.domigrationtotargets(schemamigratorimpl.java:214) ~[hibernate-core-5.0.12.final.jar:5.0.12.final] @ org.hibernate.tool.schema.internal.schemamigratorimpl.domigration(schemamigratorimpl.java:60) ~[hibernate-core-5.0.12.final.jar:5.0.12.final] @ org.hibernate.tool.hbm2ddl.schemaupdate.execute(schemaupdate.java:134) ~[hibernate-core-5.0.12.final.jar:5.0.12.final] @ org.hibernate.tool.hbm2ddl.schemaupdate.execute(schemaupdate.java:101) ~[hibernate-core-5.0.12.final.jar:5.0.12.final] @ org.hibernate.internal.sessionfactoryimpl.<init>(sessionfactoryimpl.java:472) ~[hibernate-core-5.0.12.final.jar:5.0.12.final] @ org.hibernate.boot.internal.sessionfactorybuilderimpl.build(sessionfactorybuilderimpl.java:444) ~[hibernate-core-5.0.12.final.jar:5.0.12.final] @ org.hibernate.jpa.boot.internal.entitymanagerfactorybuilderimpl.build(entitymanagerfactorybuilderimpl.java:879) ~[hibernate-entitymanager-5.0.12.final.jar:5.0.12.final] ... 22 common frames omitted caused by: java.sql.sqlexception: can't create table 'hotelproject.#sql-95c_2d' (errno: 150) @ com.mysql.jdbc.sqlerror.createsqlexception(sqlerror.java:964) ~[mysql-connector-java-5.1.43.jar:5.1.43] @ com.mysql.jdbc.mysqlio.checkerrorpacket(mysqlio.java:3973) ~[mysql-connector-java-5.1.43.jar:5.1.43] @ com.mysql.jdbc.mysqlio.checkerrorpacket(mysqlio.java:3909) ~[mysql-connector-java-5.1.43.jar:5.1.43] @ com.mysql.jdbc.mysqlio.sendcommand(mysqlio.java:2527) ~[mysql-connector-java-5.1.43.jar:5.1.43] @ com.mysql.jdbc.mysqlio.sqlquerydirect(mysqlio.java:2680) ~[mysql-connector-java-5.1.43.jar:5.1.43] @ com.mysql.jdbc.connectionimpl.execsql(connectionimpl.java:2490) ~[mysql-connector-java-5.1.43.jar:5.1.43] @ com.mysql.jdbc.statementimpl.executeupdateinternal(statementimpl.java:1552) ~[mysql-connector-java-5.1.43.jar:5.1.43] @ com.mysql.jdbc.statementimpl.executelargeupdate(statementimpl.java:2607) ~[mysql-connector-java-5.1.43.jar:5.1.43] @ com.mysql.jdbc.statementimpl.executeupdate(statementimpl.java:1480) ~[mysql-connector-java-5.1.43.jar:5.1.43] @ org.apache.commons.dbcp.delegatingstatement.executeupdate(delegatingstatement.java:228) ~[commons-dbcp-1.4.jar:1.4] @ org.apache.commons.dbcp.delegatingstatement.executeupdate(delegatingstatement.java:228) ~[commons-dbcp-1.4.jar:1.4] @ org.hibernate.tool.schema.internal.targetdatabaseimpl.accept(targetdatabaseimpl.java:56) ~[hibernate-core-5.0.12.final.jar:5.0.12.final] ... 32 common frames omitted my application.properties
spring.datasource.url=jdbc:mysql://localhost:3306/hotelproject spring.datasource.username=root spring.datasource.password=password spring.datasource.driverclassname=com.mysql.jdbc.driver spring.jpa.hibernate.ddl-auto=update spring.jpa.properties.hibernate.dialect = org.hibernate.dialect.mysql5innodbdialect spring.jpa.properties.hibernate.globally_quoted_identifiers=true hotel model code has onetomany mapping review model , manytoone mapping city model
package com.mediaocean.hotelproject.model; import java.util.list; import javax.persistence.cascadetype; import javax.persistence.entity; import javax.persistence.fetchtype; import javax.persistence.generatedvalue; import javax.persistence.generationtype; import javax.persistence.id; import javax.persistence.joincolumn; import javax.persistence.manytoone; import javax.persistence.onetomany; @entity public class hotel { @id @generatedvalue(strategy=generationtype.identity) private int hotelid; private string name; private string address; private string zip; // private int city_id; @manytoone @joincolumn (name="city_id",referencedcolumnname="id",nullable=false,insertable=false,updatable=false) private city city; @onetomany(mappedby = "hotel", cascade = cascadetype.all, fetch = fetchtype.lazy) list<review> review; public hotel() { super(); } // public hotel(int hotelid, string hotelname, string hoteladdress, string hotelzip) { // this.hotelid = hotelid; // this.name = hotelname; // this.address = hoteladdress; // this.zip = hotelzip; // } // public int gethotelid() { return hotelid; } // public int getcityid() { // return city_id; // } public string gethotelname() { return name; } public string gethoteladdress() { return address; } public string gethotelzip() { return zip; } }
it seems hibernate trying alter table violating constraint, drop tables or @ least table problem , change ddl create solve issue lose data.
if not want lose data can either specify new table using @table annotation again old table ignored , data lost or can alter table manually.
Comments
Post a Comment