소개
게시글
질문&답변
2023.04.02
일대다 DB 관련 질문
답변해주신대로 시도하면서 에러 내용을 해결하려 여러 방법을 시도하다가, 구글링을 통해 SQL문을 이용하여 외래키 제약 조건을 먼저 삭제해야 한다는 것을 알게 되었고, ALTER TABLE Member DROP CONSTRAINT FK4U1NPO283VGQFK8LYXCLIHGNL; ALTER TABLE Team DROP CONSTRAINT FKPSJMEA2E134AB3X3GSDOYXEPG; 이 SQL문들을 먼저 시행한 뒤 알려주신대로 drop table ~ 구문을 시행하였고, 다시 JpaMain을 실행했더니 (사진)사진과 같이 문제가 해결되고 김영한님의 강의처럼 화면을 띄울 수 있었습니다... 주말인데 귀중한 시간 내주셔서 감사하고 강의 더 열심히 듣겠습니다!!
- 2
- 6
- 1.2K
질문&답변
2023.04.02
일대다 DB 관련 질문
답변 감사합니다. 알려주신대로 하였으나, drop을 할 수 없다는 경고 문구가 나오고 e.printStacktrace를 지우고 다시 실행해도 똑같습니다 ㅠㅠ (사진)
- 2
- 6
- 1.2K
질문&답변
2023.04.02
일대다 DB 관련 질문
(사진)혹시 알아보시기 힘드실까봐 캡쳐본을 추가로 첨부합니다... 주말인데 시간내주셔서 정말 감사합니다,,,
- 2
- 6
- 1.2K
질문&답변
2023.04.02
일대다 DB 관련 질문
xmlns=" http://xmlns.jcp.org/xml/ns/persistence " xmlns:xsi=" http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation=" http://xmlns.jcp.org/xml/ns/persistence ">http://xmlns.jcp.org/xml/ns/persistence/persistence_2_2.xsd"> ">localhost/~/test"/> hibernate.show _sql" value="true"/> hibernate.hbm2ddl.auto " value="create"/> 위의 첨부 내용이 persistence.xml 입니다. create로 되어 있는 것 같은데,, 아닐까요?? 그리고 말씀하신대로 e.printStackTrace를 추가했습니다. 좀 길긴 한데 이런 내용이 나옵니다.. /Library/Java/JavaVirtualMachines/zulu-11.jdk/Contents/Home/bin/java -javaagent:/Users/prao/Library/Application Support/JetBrains/Toolbox/apps/IDEA-U/ch-0/231.8109.175/IntelliJ IDEA.app/Contents/lib/idea_rt.jar=62286:/Users/prao/Library/Application Support/JetBrains/Toolbox/apps/IDEA-U/ch-0/231.8109.175/IntelliJ IDEA.app/Contents/bin -Dfile.encoding=UTF-8 -classpath /Users/prao/Desktop/DEV.PRAO/JPA/ex1-hello-jpa/target/classes:/Users/prao/.m2/repository/org/hibernate/hibernate-entitymanager/5.3.10.Final/hibernate-entitymanager-5.3.10.Final.jar:/Users/prao/.m2/repository/org/jboss/logging/jboss-logging/3.3.2.Final/jboss-logging-3.3.2.Final.jar:/Users/prao/.m2/repository/org/hibernate/hibernate-core/5.3.10.Final/hibernate-core-5.3.10.Final.jar:/Users/prao/.m2/repository/org/javassist/javassist/3.23.2-GA/javassist-3.23.2-GA.jar:/Users/prao/.m2/repository/antlr/antlr/2.7.7/antlr-2.7.7.jar:/Users/prao/.m2/repository/org/jboss/jandex/2.0.5.Final/jandex-2.0.5.Final.jar:/Users/prao/.m2/repository/com/fasterxml/classmate/1.3.4/classmate-1.3.4.jar:/Users/prao/.m2/repository/org/dom4j/dom4j/2.1.1/dom4j-2.1.1.jar:/Users/prao/.m2/repository/org/hibernate/common/hibernate-commons-annotations/5.0.4.Final/hibernate-commons-annotations-5.0.4.Final.jar:/Users/prao/.m2/repository/javax/persistence/javax.persistence-api/2.2/javax.persistence-api-2.2.jar:/Users/prao/.m2/repository/net/bytebuddy/byte-buddy/1.9.5/byte-buddy-1.9.5.jar:/Users/prao/.m2/repository/org/jboss/spec/javax/transaction/jboss-transaction-api_1.2_spec/1.1.1.Final/jboss-transaction-api_1.2_spec-1.1.1.Final.jar:/Users/prao/.m2/repository/com/h2database/h2/1.4.200/h2-1.4.200.jar:/Users/prao/.m2/repository/javax/xml/bind/jaxb-api/2.3.1/jaxb-api-2.3.1.jar:/Users/prao/.m2/repository/javax/activation/javax.activation-api/1.2.0/javax.activation-api-1.2.0.jar hellojpa.JpaMain 4월 02, 2023 12:36:21 오후 org.hibernate.jpa.internal.util.LogHelper logPersistenceUnitInformation INFO: HHH000204: Processing PersistenceUnitInfo [ name: hello ...] 4월 02, 2023 12:36:21 오후 org.hibernate.Version logVersion INFO: HHH000412: Hibernate Core { 5.3.10.Final } 4월 02, 2023 12:36:21 오후 org.hibernate.cfg.Environment INFO: HHH000206: hibernate.properties not found 4월 02, 2023 12:36:22 오후 org.hibernate.annotations.common.reflection.java .JavaReflectionManager INFO: HCANN000001: Hibernate Commons Annotations { 5.0.4.Final } 4월 02, 2023 12:36:22 오후 org.hibernate.engine.jdbc.connections.internal.DriverManagerConnectionProviderImpl configure WARN: HHH10001002: Using Hibernate built-in connection pool (not for production use!) 4월 02, 2023 12:36:22 오후 org.hibernate.engine.jdbc.connections.internal.DriverManagerConnectionProviderImpl buildCreator INFO: HHH10001005: using driver [org.h2.Driver] at URL [jdbc:h2:tcp:// localhost/~/test ] 4월 02, 2023 12:36:22 오후 org.hibernate.engine.jdbc.connections.internal.DriverManagerConnectionProviderImpl buildCreator INFO: HHH10001001: Connection properties: {user=sa} 4월 02, 2023 12:36:22 오후 org.hibernate.engine.jdbc.connections.internal.DriverManagerConnectionProviderImpl buildCreator INFO: HHH10001003: Autocommit mode: false 4월 02, 2023 12:36:22 오후 org.hibernate.engine.jdbc.connections.internal.DriverManagerConnectionProviderImpl$PooledConnections INFO: HHH000115: Hibernate connection pool size: 20 (min=1) 4월 02, 2023 12:36:22 오후 org.hibernate.dialect.Dialect INFO: HHH000400: Using dialect: org.hibernate.dialect.H2Dialect Hibernate: drop table Member if exists Hibernate: drop table Team if exists Hibernate: drop sequence if exists hibernate_sequence Hibernate: create sequence hibernate_sequence start with 1 increment by 1 Hibernate: create table Member ( MEMBER_ID bigint not null, USERNAME varchar(255), TEAM_ID bigint, primary key (MEMBER_ID) ) Hibernate: create table Team ( TEAM_ID bigint not null, name varchar(255), primary key (TEAM_ID) ) Hibernate: alter table Member add constraint FKl7wsny760hjy6x19kqnduasbm foreign key (TEAM_ID) references Team 4월 02, 2023 12:36:22 오후 org.hibernate.resource.transaction.backend.jdbc.internal.DdlTransactionIsolatorNonJtaImpl getIsolatedConnection INFO: HHH10001501: Connection obtained from JdbcConnectionAccess [org.hibernate.engine.jdbc.env.internal.JdbcEnvironmentInitiator$ConnectionProviderJdbcConnectionAccess@31a3f4de] for (non-JTA) DDL execution was not in auto-commit mode; the Connection 'local transaction' will be committed and the Connection will be set into auto-commit mode. 4월 02, 2023 12:36:22 오후 org.hibernate.tool.schema.internal.ExceptionHandlerLoggedImpl handleException WARN: GenerationTarget encountered exception accepting command : Error executing DDL " drop table Member if exists" via JDBC Statement org.hibernate.tool.schema.spi.CommandAcceptanceException: Error executing DDL " drop table Member if exists" via JDBC Statement at org.hibernate.tool.schema.internal.exec.GenerationTargetToDatabase.accept( GenerationTargetToDatabase.java:67 ) at org.hibernate.tool.schema.internal.SchemaDropperImpl.applySqlString( SchemaDropperImpl.java:375 ) at org.hibernate.tool.schema.internal.SchemaDropperImpl.applySqlStrings( SchemaDropperImpl.java:359 ) at org.hibernate.tool.schema.internal.SchemaDropperImpl.dropFromMetadata( SchemaDropperImpl.java:241 ) at org.hibernate.tool.schema.internal.SchemaDropperImpl.performDrop( SchemaDropperImpl.java:154 ) at org.hibernate.tool.schema.internal.SchemaDropperImpl.doDrop( SchemaDropperImpl.java:126 ) at org.hibernate.tool.schema.internal.SchemaDropperImpl.doDrop( SchemaDropperImpl.java:112 ) at org.hibernate.tool.schema.spi.SchemaManagementToolCoordinator.performDatabaseAction( SchemaManagementToolCoordinator.java:144 ) at org.hibernate.tool.schema.spi.SchemaManagementToolCoordinator.process( SchemaManagementToolCoordinator.java:72 ) at org.hibernate.internal.SessionFactoryImpl. ( SessionFactoryImpl.java:310 ) at org.hibernate.boot.internal.SessionFactoryBuilderImpl.build ( SessionFactoryBuilderImpl.java:467 ) at org.hibernate.jpa.boot.internal.EntityManagerFactoryBuilderImpl.build ( EntityManagerFactoryBuilderImpl.java:939 ) at org.hibernate.jpa.HibernatePersistenceProvider.createEntityManagerFactory( HibernatePersistenceProvider.java:56 ) at javax.persistence.Persistence.createEntityManagerFactory( Persistence.java:79 ) at javax.persistence.Persistence.createEntityManagerFactory( Persistence.java:54 ) at hellojpa.JpaMain.main( JpaMain.java:11 ) Caused by: org.h2.jdbc.JdbcSQLSyntaxErrorException: Cannot drop "MEMBER" because "FKPSJMEA2E134AB3X3GSDOYXEPG" depends on it; SQL statement: drop table Member if exists [90107-200] at org.h2.message.DbException.getJdbcSQLException( DbException.java:576 ) at org.h2.message.DbException.getJdbcSQLException( DbException.java:429 ) at org.h2.message.DbException.get( DbException.java:205 ) at org.h2.command.ddl.DropTable.prepareDrop( DropTable.java:98 ) at org.h2.command.ddl.DropTable.update( DropTable.java:124 ) at org.h2.command.CommandContainer.update( CommandContainer.java:198 ) at org.h2.command.Command.executeUpdate( Command.java:251 ) at org.h2.server.TcpServerThread.process( TcpServerThread.java:406 ) at org.h2.server.TcpServerThread.run ( TcpServerThread.java:183 ) at java.lang.Thread.run ( Thread.java:748 ) at org.h2.message.DbException.getJdbcSQLException( DbException.java:576 ) at org.h2.engine.SessionRemote.done( SessionRemote.java:611 ) at org.h2.command.CommandRemote.executeUpdate( CommandRemote.java:237 ) at org.h2.jdbc.JdbcStatement.executeInternal( JdbcStatement.java:228 ) at org.h2.jdbc.JdbcStatement.execute( JdbcStatement.java:201 ) at org.hibernate.tool.schema.internal.exec.GenerationTargetToDatabase.accept( GenerationTargetToDatabase.java:54 ) ... 15 more 4월 02, 2023 12:36:22 오후 org.hibernate.tool.schema.internal.ExceptionHandlerLoggedImpl handleException WARN: GenerationTarget encountered exception accepting command : Error executing DDL " drop table Team if exists" via JDBC Statement org.hibernate.tool.schema.spi.CommandAcceptanceException: Error executing DDL " drop table Team if exists" via JDBC Statement at org.hibernate.tool.schema.internal.exec.GenerationTargetToDatabase.accept( GenerationTargetToDatabase.java:67 ) at org.hibernate.tool.schema.internal.SchemaDropperImpl.applySqlString( SchemaDropperImpl.java:375 ) at org.hibernate.tool.schema.internal.SchemaDropperImpl.applySqlStrings( SchemaDropperImpl.java:359 ) at org.hibernate.tool.schema.internal.SchemaDropperImpl.dropFromMetadata( SchemaDropperImpl.java:241 ) at org.hibernate.tool.schema.internal.SchemaDropperImpl.performDrop( SchemaDropperImpl.java:154 ) at org.hibernate.tool.schema.internal.SchemaDropperImpl.doDrop( SchemaDropperImpl.java:126 ) at org.hibernate.tool.schema.internal.SchemaDropperImpl.doDrop( SchemaDropperImpl.java:112 ) at org.hibernate.tool.schema.spi.SchemaManagementToolCoordinator.performDatabaseAction( SchemaManagementToolCoordinator.java:144 ) at org.hibernate.tool.schema.spi.SchemaManagementToolCoordinator.process( SchemaManagementToolCoordinator.java:72 ) at org.hibernate.internal.SessionFactoryImpl. ( SessionFactoryImpl.java:310 ) at org.hibernate.boot.internal.SessionFactoryBuilderImpl.build ( SessionFactoryBuilderImpl.java:467 ) at org.hibernate.jpa.boot.internal.EntityManagerFactoryBuilderImpl.build ( EntityManagerFactoryBuilderImpl.java:939 ) at org.hibernate.jpa.HibernatePersistenceProvider.createEntityManagerFactory( HibernatePersistenceProvider.java:56 ) at javax.persistence.Persistence.createEntityManagerFactory( Persistence.java:79 ) at javax.persistence.Persistence.createEntityManagerFactory( Persistence.java:54 ) at hellojpa.JpaMain.main( JpaMain.java:11 ) Caused by: org.h2.jdbc.JdbcSQLSyntaxErrorException: Cannot drop "TEAM" because "FK4U1NPO283VGQFK8LYXCLIHGNL" depends on it; SQL statement: drop table Team if exists [90107-200] at org.h2.message.DbException.getJdbcSQLException( DbException.java:576 ) at org.h2.message.DbException.getJdbcSQLException( DbException.java:429 ) at org.h2.message.DbException.get( DbException.java:205 ) at org.h2.command.ddl.DropTable.prepareDrop( DropTable.java:98 ) at org.h2.command.ddl.DropTable.update( DropTable.java:124 ) at org.h2.command.CommandContainer.update( CommandContainer.java:198 ) at org.h2.command.Command.executeUpdate( Command.java:251 ) at org.h2.server.TcpServerThread.process( TcpServerThread.java:406 ) at org.h2.server.TcpServerThread.run ( TcpServerThread.java:183 ) at java.lang.Thread.run ( Thread.java:748 ) at org.h2.message.DbException.getJdbcSQLException( DbException.java:576 ) at org.h2.engine.SessionRemote.done( SessionRemote.java:611 ) at org.h2.command.CommandRemote.executeUpdate( CommandRemote.java:237 ) at org.h2.jdbc.JdbcStatement.executeInternal( JdbcStatement.java:228 ) at org.h2.jdbc.JdbcStatement.execute( JdbcStatement.java:201 ) at org.hibernate.tool.schema.internal.exec.GenerationTargetToDatabase.accept( GenerationTargetToDatabase.java:54 ) ... 15 more 4월 02, 2023 12:36:22 오후 org.hibernate.resource.transaction.backend.jdbc.internal.DdlTransactionIsolatorNonJtaImpl getIsolatedConnection INFO: HHH10001501: Connection obtained from JdbcConnectionAccess [org.hibernate.engine.jdbc.env.internal.JdbcEnvironmentInitiator$ConnectionProviderJdbcConnectionAccess@21c815e4] for (non-JTA) DDL execution was not in auto-commit mode; the Connection 'local transaction' will be committed and the Connection will be set into auto-commit mode. 4월 02, 2023 12:36:22 오후 org.hibernate.tool.schema.internal.ExceptionHandlerLoggedImpl handleException WARN: GenerationTarget encountered exception accepting command : Error executing DDL " create table Member ( MEMBER_ID bigint not null, USERNAME varchar(255), TEAM_ID bigint, primary key (MEMBER_ID) )" via JDBC Statement org.hibernate.tool.schema.spi.CommandAcceptanceException: Error executing DDL " create table Member ( MEMBER_ID bigint not null, USERNAME varchar(255), TEAM_ID bigint, primary key (MEMBER_ID) )" via JDBC Statement at org.hibernate.tool.schema.internal.exec.GenerationTargetToDatabase.accept( GenerationTargetToDatabase.java:67 ) at org.hibernate.tool.schema.internal.SchemaCreatorImpl.applySqlString( SchemaCreatorImpl.java:440 ) at org.hibernate.tool.schema.internal.SchemaCreatorImpl.applySqlStrings( SchemaCreatorImpl.java:424 ) at org.hibernate.tool.schema.internal.SchemaCreatorImpl.createFromMetadata( SchemaCreatorImpl.java:315 ) at org.hibernate.tool.schema.internal.SchemaCreatorImpl.performCreation( SchemaCreatorImpl.java:166 ) at org.hibernate.tool.schema.internal.SchemaCreatorImpl.doCreation( SchemaCreatorImpl.java:135 ) at org.hibernate.tool.schema.internal.SchemaCreatorImpl.doCreation( SchemaCreatorImpl.java:121 ) at org.hibernate.tool.schema.spi.SchemaManagementToolCoordinator.performDatabaseAction( SchemaManagementToolCoordinator.java:155 ) at org.hibernate.tool.schema.spi.SchemaManagementToolCoordinator.process( SchemaManagementToolCoordinator.java:72 ) at org.hibernate.internal.SessionFactoryImpl. ( SessionFactoryImpl.java:310 ) at org.hibernate.boot.internal.SessionFactoryBuilderImpl.build ( SessionFactoryBuilderImpl.java:467 ) at org.hibernate.jpa.boot.internal.EntityManagerFactoryBuilderImpl.build ( EntityManagerFactoryBuilderImpl.java:939 ) at org.hibernate.jpa.HibernatePersistenceProvider.createEntityManagerFactory( HibernatePersistenceProvider.java:56 ) at javax.persistence.Persistence.createEntityManagerFactory( Persistence.java:79 ) at javax.persistence.Persistence.createEntityManagerFactory( Persistence.java:54 ) at hellojpa.JpaMain.main( JpaMain.java:11 ) Caused by: org.h2.jdbc.JdbcSQLSyntaxErrorException: Table "MEMBER" already exists; SQL statement: create table Member ( MEMBER_ID bigint not null, USERNAME varchar(255), TEAM_ID bigint, primary key (MEMBER_ID) ) [42101-200] at org.h2.message.DbException.getJdbcSQLException( DbException.java:453 ) at org.h2.message.DbException.getJdbcSQLException( DbException.java:429 ) at org.h2.message.DbException.get( DbException.java:205 ) at org.h2.message.DbException.get( DbException.java:181 ) at org.h2.command.ddl.CreateTable.update( CreateTable.java:89 ) at org.h2.command.CommandContainer.update( CommandContainer.java:198 ) at org.h2.command.Command.executeUpdate( Command.java:251 ) at org.h2.server.TcpServerThread.process( TcpServerThread.java:406 ) at org.h2.server.TcpServerThread.run ( TcpServerThread.java:183 ) at java.lang.Thread.run ( Thread.java:748 ) at org.h2.message.DbException.getJdbcSQLException( DbException.java:453 ) at org.h2.engine.SessionRemote.done( SessionRemote.java:611 ) at org.h2.command.CommandRemote.executeUpdate( CommandRemote.java:237 ) at org.h2.jdbc.JdbcStatement.executeInternal( JdbcStatement.java:228 ) at org.h2.jdbc.JdbcStatement.execute( JdbcStatement.java:201 ) at org.hibernate.tool.schema.internal.exec.GenerationTargetToDatabase.accept( GenerationTargetToDatabase.java:54 ) ... 15 more 4월 02, 2023 12:36:22 오후 org.hibernate.tool.schema.internal.ExceptionHandlerLoggedImpl handleException WARN: GenerationTarget encountered exception accepting command : Error executing DDL " create table Team ( TEAM_ID bigint not null, name varchar(255), primary key (TEAM_ID) )" via JDBC Statement org.hibernate.tool.schema.spi.CommandAcceptanceException: Error executing DDL " create table Team ( TEAM_ID bigint not null, name varchar(255), primary key (TEAM_ID) )" via JDBC Statement at org.hibernate.tool.schema.internal.exec.GenerationTargetToDatabase.accept( GenerationTargetToDatabase.java:67 ) at org.hibernate.tool.schema.internal.SchemaCreatorImpl.applySqlString( SchemaCreatorImpl.java:440 ) at org.hibernate.tool.schema.internal.SchemaCreatorImpl.applySqlStrings( SchemaCreatorImpl.java:424 ) at org.hibernate.tool.schema.internal.SchemaCreatorImpl.createFromMetadata( SchemaCreatorImpl.java:315 ) at org.hibernate.tool.schema.internal.SchemaCreatorImpl.performCreation( SchemaCreatorImpl.java:166 ) at org.hibernate.tool.schema.internal.SchemaCreatorImpl.doCreation( SchemaCreatorImpl.java:135 ) at org.hibernate.tool.schema.internal.SchemaCreatorImpl.doCreation( SchemaCreatorImpl.java:121 ) at org.hibernate.tool.schema.spi.SchemaManagementToolCoordinator.performDatabaseAction( SchemaManagementToolCoordinator.java:155 ) at org.hibernate.tool.schema.spi.SchemaManagementToolCoordinator.process( SchemaManagementToolCoordinator.java:72 ) at org.hibernate.internal.SessionFactoryImpl. ( SessionFactoryImpl.java:310 ) at org.hibernate.boot.internal.SessionFactoryBuilderImpl.build ( SessionFactoryBuilderImpl.java:467 ) at org.hibernate.jpa.boot.internal.EntityManagerFactoryBuilderImpl.build ( EntityManagerFactoryBuilderImpl.java:939 ) at org.hibernate.jpa.HibernatePersistenceProvider.createEntityManagerFactory( HibernatePersistenceProvider.java:56 ) at javax.persistence.Persistence.createEntityManagerFactory( Persistence.java:79 ) at javax.persistence.Persistence.createEntityManagerFactory( Persistence.java:54 ) at hellojpa.JpaMain.main( JpaMain.java:11 ) Caused by: org.h2.jdbc.JdbcSQLSyntaxErrorException: Table "TEAM" already exists; SQL statement: create table Team ( TEAM_ID bigint not null, name varchar(255), primary key (TEAM_ID) ) [42101-200] at org.h2.message.DbException.getJdbcSQLException( DbException.java:453 ) at org.h2.message.DbException.getJdbcSQLException( DbException.java:429 ) at org.h2.message.DbException.get( DbException.java:205 ) at org.h2.message.DbException.get( DbException.java:181 ) at org.h2.command.ddl.CreateTable.update( CreateTable.java:89 ) at org.h2.command.CommandContainer.update( CommandContainer.java:198 ) at org.h2.command.Command.executeUpdate( Command.java:251 ) at org.h2.server.TcpServerThread.process( TcpServerThread.java:406 ) at org.h2.server.TcpServerThread.run ( TcpServerThread.java:183 ) at java.lang.Thread.run ( Thread.java:748 ) at org.h2.message.DbException.getJdbcSQLException( DbException.java:453 ) at org.h2.engine.SessionRemote.done( SessionRemote.java:611 ) at org.h2.command.CommandRemote.executeUpdate( CommandRemote.java:237 ) at org.h2.jdbc.JdbcStatement.executeInternal( JdbcStatement.java:228 ) at org.h2.jdbc.JdbcStatement.execute( JdbcStatement.java:201 ) at org.hibernate.tool.schema.internal.exec.GenerationTargetToDatabase.accept( GenerationTargetToDatabase.java:54 ) ... 15 more 4월 02, 2023 12:36:22 오후 org.hibernate.tool.schema.internal.ExceptionHandlerLoggedImpl handleException WARN: GenerationTarget encountered exception accepting command : Error executing DDL " alter table Member add constraint FKl7wsny760hjy6x19kqnduasbm foreign key (TEAM_ID) references Team" via JDBC Statement org.hibernate.tool.schema.spi.CommandAcceptanceException: Error executing DDL " alter table Member add constraint FKl7wsny760hjy6x19kqnduasbm foreign key (TEAM_ID) references Team" via JDBC Statement at org.hibernate.tool.schema.internal.exec.GenerationTargetToDatabase.accept( GenerationTargetToDatabase.java:67 ) at org.hibernate.tool.schema.internal.SchemaCreatorImpl.applySqlString( SchemaCreatorImpl.java:440 ) at org.hibernate.tool.schema.internal.SchemaCreatorImpl.applySqlStrings( SchemaCreatorImpl.java:424 ) at org.hibernate.tool.schema.internal.SchemaCreatorImpl.createFromMetadata( SchemaCreatorImpl.java:375 ) at org.hibernate.tool.schema.internal.SchemaCreatorImpl.performCreation( SchemaCreatorImpl.java:166 ) at org.hibernate.tool.schema.internal.SchemaCreatorImpl.doCreation( SchemaCreatorImpl.java:135 ) at org.hibernate.tool.schema.internal.SchemaCreatorImpl.doCreation( SchemaCreatorImpl.java:121 ) at org.hibernate.tool.schema.spi.SchemaManagementToolCoordinator.performDatabaseAction( SchemaManagementToolCoordinator.java:155 ) at org.hibernate.tool.schema.spi.SchemaManagementToolCoordinator.process( SchemaManagementToolCoordinator.java:72 ) at org.hibernate.internal.SessionFactoryImpl. ( SessionFactoryImpl.java:310 ) at org.hibernate.boot.internal.SessionFactoryBuilderImpl.build ( SessionFactoryBuilderImpl.java:467 ) at org.hibernate.jpa.boot.internal.EntityManagerFactoryBuilderImpl.build ( EntityManagerFactoryBuilderImpl.java:939 ) at org.hibernate.jpa.HibernatePersistenceProvider.createEntityManagerFactory( HibernatePersistenceProvider.java:56 ) at javax.persistence.Persistence.createEntityManagerFactory( Persistence.java:79 ) at javax.persistence.Persistence.createEntityManagerFactory( Persistence.java:54 ) at hellojpa.JpaMain.main( JpaMain.java:11 ) Caused by: org.h2.jdbc.JdbcSQLSyntaxErrorException: Column "TEAM_ID" not found; SQL statement: alter table Member add constraint FKl7wsny760hjy6x19kqnduasbm foreign key (TEAM_ID) references Team [42122-200] at org.h2.message.DbException.getJdbcSQLException( DbException.java:453 ) at org.h2.message.DbException.getJdbcSQLException( DbException.java:429 ) at org.h2.message.DbException.get( DbException.java:205 ) at org.h2.message.DbException.get( DbException.java:181 ) at org.h2.table.Table.getColumn( Table.java:703 ) at org.h2.table.IndexColumn.mapColumns( IndexColumn.java:115 ) at org.h2.command.ddl.AlterTableAddConstraint.tryUpdate( AlterTableAddConstraint.java:216 ) at org.h2.command.ddl.AlterTableAddConstraint.update( AlterTableAddConstraint.java:78 ) at org.h2.command.CommandContainer.update( CommandContainer.java:198 ) at org.h2.command.Command.executeUpdate( Command.java:251 ) at org.h2.server.TcpServerThread.process( TcpServerThread.java:406 ) at org.h2.server.TcpServerThread.run ( TcpServerThread.java:183 ) at java.lang.Thread.run ( Thread.java:748 ) at org.h2.message.DbException.getJdbcSQLException( DbException.java:453 ) at org.h2.engine.SessionRemote.done( SessionRemote.java:611 ) at org.h2.command.CommandRemote.executeUpdate( CommandRemote.java:237 ) at org.h2.jdbc.JdbcStatement.executeInternal( JdbcStatement.java:228 ) at org.h2.jdbc.JdbcStatement.execute( JdbcStatement.java:201 ) at org.hibernate.tool.schema.internal.exec.GenerationTargetToDatabase.accept( GenerationTargetToDatabase.java:54 ) ... 15 more 4월 02, 2023 12:36:22 오후 org.hibernate.tool.schema.internal.SchemaCreatorImpl applyImportSources INFO: HHH000476: Executing import script 'org.hibernate.tool.schema.internal.exec.ScriptSourceInputNonExistentImpl@6c9320c2' Hibernate: call next value for hibernate_sequence Hibernate: call next value for hibernate_sequence Hibernate: /* insert hellojpa.Member */ insert into Member (USERNAME, MEMBER_ID) values (?, ?) Hibernate: /* insert hellojpa.Team */ insert into Team (name, TEAM_ID) values (?, ?) Hibernate: /* create one-to-many row hellojpa.Team .members */ update Member set TEAM_ID=? where MEMBER_ID=? 4월 02, 2023 12:36:22 오후 org.hibernate.engine.jdbc.spi.SqlExceptionHelper logExceptions WARN: SQL Error: 42122, SQLState: 42S22 4월 02, 2023 12:36:22 오후 org.hibernate.engine.jdbc.spi.SqlExceptionHelper logExceptions ERROR: Column "TEAM_ID" not found; SQL statement: /* create one-to-many row hellojpa.Team .members */ update Member set TEAM_ID=? where MEMBER_ID=? [42122-200] 4월 02, 2023 12:36:22 오후 org.hibernate.internal.ExceptionMapperStandardImpl mapManagedFlushFailure ERROR: HHH000346: Error during managed flush [org.hibernate.exception.SQLGrammarException: could not prepare statement] javax.persistence.RollbackException: Error while committing the transaction at org.hibernate.internal.ExceptionConverterImpl.convertCommitException( ExceptionConverterImpl.java:81 ) at org.hibernate.engine.transaction.internal.TransactionImpl.commit( TransactionImpl.java:107 ) at hellojpa.JpaMain.main( JpaMain.java:32 ) Caused by: javax.persistence.PersistenceException: org.hibernate.exception.SQLGrammarException: could not prepare statement at org.hibernate.internal.ExceptionConverterImpl.convert( ExceptionConverterImpl.java:154 ) at org.hibernate.internal.ExceptionConverterImpl.convert( ExceptionConverterImpl.java:181 ) at org.hibernate.internal.ExceptionConverterImpl.convertCommitException( ExceptionConverterImpl.java:65 ) ... 2 more Caused by: org.hibernate.exception.SQLGrammarException: could not prepare statement at org.hibernate.exception.internal.SQLExceptionTypeDelegate.convert( SQLExceptionTypeDelegate.java:63 ) at org.hibernate.exception.internal.StandardSQLExceptionConverter.convert( StandardSQLExceptionConverter.java:42 ) at org.hibernate.engine.jdbc.spi.SqlExceptionHelper.convert( SqlExceptionHelper.java:113 ) at org.hibernate.engine.jdbc.internal.StatementPreparerImpl$StatementPreparationTemplate.prepareStatement( StatementPreparerImpl.java:182 ) at org.hibernate.engine.jdbc.internal.StatementPreparerImpl.prepareStatement( StatementPreparerImpl.java:78 ) at org.hibernate.engine.jdbc.batch.internal.AbstractBatchImpl.buildBatchStatement( AbstractBatchImpl.java:136 ) at org.hibernate.engine.jdbc.batch.internal.AbstractBatchImpl.getBatchStatement( AbstractBatchImpl.java:125 ) at org.hibernate.engine.jdbc.batch.internal.BatchingBatch.getBatchStatement( BatchingBatch.java:66 ) at org.hibernate.persister.collection.AbstractCollectionPersister.recreate( AbstractCollectionPersister.java:1314 ) at org.hibernate.persister.collection.OneToManyPersister.recreate( OneToManyPersister.java:186 ) at org.hibernate.action.internal.CollectionRecreateAction.execute( CollectionRecreateAction.java:50 ) at org.hibernate.engine.spi.ActionQueue.executeActions( ActionQueue.java:604 ) at org.hibernate.engine.spi.ActionQueue.executeActions( ActionQueue.java:478 ) at org.hibernate.event.internal.AbstractFlushingEventListener.performExecutions( AbstractFlushingEventListener.java:356 ) at org.hibernate.event.internal.DefaultFlushEventListener.onFlush( DefaultFlushEventListener.java:39 ) at org.hibernate.internal.SessionImpl.doFlush( SessionImpl.java:1454 ) at org.hibernate.internal.SessionImpl.managedFlush( SessionImpl.java:511 ) at org.hibernate.internal.SessionImpl.flushBeforeTransactionCompletion( SessionImpl.java:3290 ) at org.hibernate.internal.SessionImpl.beforeTransactionCompletion( SessionImpl.java:2486 ) at org.hibernate.engine.jdbc.internal.JdbcCoordinatorImpl.beforeTransactionCompletion( JdbcCoordinatorImpl.java:473 ) at org.hibernate.resource.transaction.backend.jdbc.internal.JdbcResourceLocalTransactionCoordinatorImpl.beforeCompletionCallback( JdbcResourceLocalTransactionCoordinatorImpl.java:178 ) at org.hibernate.resource.transaction.backend.jdbc.internal.JdbcResourceLocalTransactionCoordinatorImpl.access$300( JdbcResourceLocalTransactionCoordinatorImpl.java:39 ) at org.hibernate.resource.transaction.backend.jdbc.internal.JdbcResourceLocalTransactionCoordinatorImpl$TransactionDriverControlImpl.commit( JdbcResourceLocalTransactionCoordinatorImpl.java:271 ) at org.hibernate.engine.transaction.internal.TransactionImpl.commit( TransactionImpl.java:104 ) ... 1 more Caused by: org.h2.jdbc.JdbcSQLSyntaxErrorException: Column "TEAM_ID" not found; SQL statement: /* create one-to-many row hellojpa.Team .members */ update Member set TEAM_ID=? where MEMBER_ID=? [42122-200] at org.h2.message.DbException.getJdbcSQLException( DbException.java:453 ) at org.h2.message.DbException.getJdbcSQLException( DbException.java:429 ) at org.h2.message.DbException.get( DbException.java:205 ) at org.h2.message.DbException.get( DbException.java:181 ) at org.h2.table.Table.getColumn( Table.java:703 ) at org.h2.command.Parser.readTableColumn( Parser.java:1274 ) at org.h2.command.Parser.parseUpdateSetClause( Parser.java:1325 ) at org.h2.command.Parser.parseUpdate( Parser.java:1290 ) at org.h2.command.Parser.parsePrepared( Parser.java:1005 ) at org.h2.command.Parser.parse( Parser.java:843 ) at org.h2.command.Parser.parse( Parser.java:815 ) at org.h2.command.Parser.prepareCommand( Parser.java:738 ) at org.h2.engine.Session.prepareLocal( Session.java:657 ) at org.h2.server.TcpServerThread.process( TcpServerThread.java:278 ) at org.h2.server.TcpServerThread.run ( TcpServerThread.java:183 ) at java.lang.Thread.run ( Thread.java:748 ) at org.h2.message.DbException.getJdbcSQLException( DbException.java:453 ) at org.h2.engine.SessionRemote.done( SessionRemote.java:611 ) at org.h2.command.CommandRemote.prepare( CommandRemote.java:85 ) at org.h2.command.CommandRemote. ( CommandRemote.java:51 ) at org.h2.engine.SessionRemote.prepareCommand( SessionRemote.java:481 ) at org.h2.jdbc.JdbcConnection.prepareCommand( JdbcConnection.java:1235 ) at org.h2.jdbc.JdbcPreparedStatement. ( JdbcPreparedStatement.java:76 ) at org.h2.jdbc.JdbcConnection.prepareStatement( JdbcConnection.java:352 ) at org.hibernate.engine.jdbc.internal.StatementPreparerImpl$1.doPrepare( StatementPreparerImpl.java:87 ) at org.hibernate.engine.jdbc.internal.StatementPreparerImpl$StatementPreparationTemplate.prepareStatement( StatementPreparerImpl.java:172 ) ... 21 more 4월 02, 2023 12:36:22 오후 org.hibernate.engine.jdbc.connections.internal.DriverManagerConnectionProviderImpl stop INFO: HHH10001008: Cleaning up connection pool [jdbc:h2:tcp:// localhost/~/test ] Process finished with exit code 0
- 2
- 6
- 1.2K