java - hibernate error: There is no primary key for referenced table -


i'm trying automatically generate table in hibernate , keep getting errors, table refers has primary key defined idk problem is.

here's stack trace

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.beans.factory.support.abstractautowirecapablebeanfactory.initializebean(abstractautowirecapablebeanfactory.java:1574) @ org.springframework.beans.factory.support.abstractautowirecapablebeanfactory.docreatebean(abstractautowirecapablebeanfactory.java:539) @ org.springframework.beans.factory.support.abstractautowirecapablebeanfactory.createbean(abstractautowirecapablebeanfactory.java:476) @ org.springframework.beans.factory.support.abstractbeanfactory$1.getobject(abstractbeanfactory.java:303) @ org.springframework.beans.factory.support.defaultsingletonbeanregistry.getsingleton(defaultsingletonbeanregistry.java:230) @ org.springframework.beans.factory.support.abstractbeanfactory.dogetbean(abstractbeanfactory.java:299) @ org.springframework.beans.factory.support.abstractbeanfactory.getbean(abstractbeanfactory.java:194) @ org.springframework.context.support.abstractapplicationcontext.getbean(abstractapplicationcontext.java:956) @ org.springframework.context.support.abstractapplicationcontext.finishbeanfactoryinitialization(abstractapplicationcontext.java:747) @ org.springframework.context.support.abstractapplicationcontext.refresh(abstractapplicationcontext.java:480) @     org.springframework.boot.context.embedded.embeddedwebapplicationcontext.refresh(embeddedwebapplicationcontext.java:118) @ org.springframework.boot.springapplication.refresh(springapplication.java:686) @ org.springframework.boot.springapplication.run(springapplication.java:320) @ org.springframework.boot.springapplication.run(springapplication.java:957) @ org.springframework.boot.springapplication.run(springapplication.java:946) @ com.catalyst.finalproject.finalprojectrunner.main(finalprojectrunner.java:14) caused by: javax.persistence.persistenceexception: [persistenceunit: default] unable build hibernate sessionfactory @ org.hibernate.jpa.boot.internal.entitymanagerfactorybuilderimpl.persistenceexception(entitymanagerfactorybuilderimpl.java:877) @ org.hibernate.jpa.boot.internal.entitymanagerfactorybuilderimpl.build(entitymanagerfactorybuilderimpl.java:805) @ org.springframework.orm.jpa.vendor.springhibernatejpapersistenceprovider.createcontainerentitymanagerfactory(springhibernatejpapersistenceprovider.java:60) @ org.springframework.orm.jpa.localcontainerentitymanagerfactorybean.createnativeentitymanagerfactory(localcontainerentitymanagerfactorybean.java:343) @ org.springframework.orm.jpa.abstractentitymanagerfactorybean.afterpropertiesset(abstractentitymanagerfactorybean.java:318) @ org.springframework.beans.factory.support.abstractautowirecapablebeanfactory.invokeinitmethods(abstractautowirecapablebeanfactory.java:1633) @ org.springframework.beans.factory.support.abstractautowirecapablebeanfactory.initializebean(abstractautowirecapablebeanfactory.java:1570) ... 15 common frames omitted caused by: org.hibernate.tool.schema.spi.schemamanagementexception: unable execute schema management jdbc target [alter table animals add constraint fk2jpf2wq5gu50v1npfet3mt1d6 foreign key (food_id) references foods] @ org.hibernate.tool.schema.internal.targetdatabaseimpl.accept(targetdatabaseimpl.java:59) @ org.hibernate.tool.schema.internal.schemamigratorimpl.applysqlstring(schemamigratorimpl.java:420) @ org.hibernate.tool.schema.internal.schemamigratorimpl.applysqlstrings(schemamigratorimpl.java:409) @ org.hibernate.tool.schema.internal.schemamigratorimpl.applyforeignkeys(schemamigratorimpl.java:374) @ org.hibernate.tool.schema.internal.schemamigratorimpl.domigrationtotargets(schemamigratorimpl.java:190) @ org.hibernate.tool.schema.internal.schemamigratorimpl.domigration(schemamigratorimpl.java:60) @ org.hibernate.tool.hbm2ddl.schemaupdate.execute(schemaupdate.java:129) @ org.hibernate.tool.hbm2ddl.schemaupdate.execute(schemaupdate.java:97) @ org.hibernate.internal.sessionfactoryimpl.<init>(sessionfactoryimpl.java:481) @ org.hibernate.boot.internal.sessionfactorybuilderimpl.build(sessionfactorybuilderimpl.java:444) @ org.hibernate.jpa.boot.internal.entitymanagerfactorybuilderimpl.build(entitymanagerfactorybuilderimpl.java:802) ... 20 common frames omitted caused by: org.postgresql.util.psqlexception: error: there no primary key referenced table "foods" @ org.postgresql.core.v3.queryexecutorimpl.receiveerrorresponse(queryexecutorimpl.java:2103) @ org.postgresql.core.v3.queryexecutorimpl.processresults(queryexecutorimpl.java:1836) @ org.postgresql.core.v3.queryexecutorimpl.execute(queryexecutorimpl.java:257) @ org.postgresql.jdbc2.abstractjdbc2statement.execute(abstractjdbc2statement.java:512) @ org.postgresql.jdbc2.abstractjdbc2statement.executewithflags(abstractjdbc2statement.java:374) @ org.postgresql.jdbc2.abstractjdbc2statement.executeupdate(abstractjdbc2statement.java:302) @ org.hibernate.tool.schema.internal.targetdatabaseimpl.accept(targetdatabaseimpl.java:56) ... 30 common frames omitted 

here entity

@entity @table(name="foods") public class foods {         @id     @generatedvalue(strategy = generationtype.identity)     @column(name="food_id")     private integer foodid;      @column(name="food_name")     private string foodname;      @column(name="vendor_name")     private string vendorname;      @manytoone     @joincolumn(name="foodcat_id")     private foodcategory foodcategory; } 

any appreciated, thanks!

hibernate not recreate column if exists. foods table in database has food_id column not defined primary key (and may not match hibernate definition java class).

you can manually alter table so:

alter table foods add primary key (food_id); 

or try dropping table , re-run code.


Comments

Popular posts from this blog

how to insert data php javascript mysql with multiple array session 2 -

multithreading - Exception in Application constructor -

windows - CertCreateCertificateContext returns CRYPT_E_ASN1_BADTAG / 8009310b -