인프런 커뮤니티 질문&답변

황상익님의 프로필 이미지
황상익

작성한 질문수

자바 ORM 표준 JPA 프로그래밍 - 기본편

Hello JPA - 애플리케이션 개발

h2 data insert 문제

해결된 질문

작성

·

829

0

h2 data에 upload 되지 않아 문의 드립니다.

em.find에서 객체가 key값이 나오는것이 아닌 object로 나와 문의 드립니다. persistentUsername은 강의에서 userName으로 변경할때 저는그냥 변경하지는 않았습니다만, Object로 나와 다른 문제가 있는지 해서 여쭈어 보게 되었습니다.캡처.PNG캡처1.PNG2.PNG

답변 1

0

안녕하세요. 황상익님, 공식 서포터즈 OMG입니다.
.

catch(Exception e) {

e.printStackTrace(); //추가

tx.rollback();

}

를 추가한 후 다시 실행한 메시지 전체 내용을 볼 수 있게 캡쳐 혹은 댓글에 복사 붙여넣기하여 첨부해주세요.
.
감사합니다.

황상익님의 프로필 이미지
황상익
질문자

메시지 내용입니다.

C:\Users\hwang\.jdks\azul-18.0.2\bin\java.exe "-javaagent:C:\Program Files\JetBrains\IntelliJ IDEA Community Edition 2022.2\lib\idea_rt.jar=64183:C:\Program Files\JetBrains\IntelliJ IDEA Community Edition 2022.2\bin" -Dfile.encoding=UTF-8 -classpath C:\Users\hwang\IdeaProjects\ex1-jpa-basic\target\classes;C:\Users\hwang\.m2\repository\javax\xml\bind\jaxb-api\2.3.0\jaxb-api-2.3.0.jar;C:\Users\hwang\.m2\repository\org\hibernate\hibernate-entitymanager\5.3.10.Final\hibernate-entitymanager-5.3.10.Final.jar;C:\Users\hwang\.m2\repository\org\jboss\logging\jboss-logging\3.3.2.Final\jboss-logging-3.3.2.Final.jar;C:\Users\hwang\.m2\repository\org\hibernate\hibernate-core\5.3.10.Final\hibernate-core-5.3.10.Final.jar;C:\Users\hwang\.m2\repository\org\javassist\javassist\3.23.2-GA\javassist-3.23.2-GA.jar;C:\Users\hwang\.m2\repository\antlr\antlr\2.7.7\antlr-2.7.7.jar;C:\Users\hwang\.m2\repository\org\jboss\jandex\2.0.5.Final\jandex-2.0.5.Final.jar;C:\Users\hwang\.m2\repository\com\fasterxml\classmate\1.3.4\classmate-1.3.4.jar;C:\Users\hwang\.m2\repository\javax\activation\javax.activation-api\1.2.0\javax.activation-api-1.2.0.jar;C:\Users\hwang\.m2\repository\org\dom4j\dom4j\2.1.1\dom4j-2.1.1.jar;C:\Users\hwang\.m2\repository\org\hibernate\common\hibernate-commons-annotations\5.0.4.Final\hibernate-commons-annotations-5.0.4.Final.jar;C:\Users\hwang\.m2\repository\javax\persistence\javax.persistence-api\2.2\javax.persistence-api-2.2.jar;C:\Users\hwang\.m2\repository\net\bytebuddy\byte-buddy\1.9.5\byte-buddy-1.9.5.jar;C:\Users\hwang\.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;C:\Users\hwang\.m2\repository\com\h2database\h2\1.4.199\h2-1.4.199.jar hellojpa.JpaMain

1�� 28, 2023 10:42:24 ���� org.hibernate.jpa.internal.util.LogHelper logPersistenceUnitInformation

INFO: HHH000204: Processing PersistenceUnitInfo [

name: hello

...]

1�� 28, 2023 10:42:25 ���� org.hibernate.Version logVersion

INFO: HHH000412: Hibernate Core {5.3.10.Final}

1�� 28, 2023 10:42:25 ���� org.hibernate.cfg.Environment <clinit>

INFO: HHH000206: hibernate.properties not found

1�� 28, 2023 10:42:25 ���� org.hibernate.annotations.common.reflection.java.JavaReflectionManager <clinit>

INFO: HCANN000001: Hibernate Commons Annotations {5.0.4.Final}

1�� 28, 2023 10:42:25 ���� org.hibernate.engine.jdbc.connections.internal.DriverManagerConnectionProviderImpl configure

WARN: HHH10001002: Using Hibernate built-in connection pool (not for production use!)

1�� 28, 2023 10:42:25 ���� org.hibernate.engine.jdbc.connections.internal.DriverManagerConnectionProviderImpl buildCreator

INFO: HHH10001005: using driver [org.h2.Driver] at URL [jdbc:h2:tcp://localhost/~/test]

1�� 28, 2023 10:42:25 ���� org.hibernate.engine.jdbc.connections.internal.DriverManagerConnectionProviderImpl buildCreator

INFO: HHH10001001: Connection properties: {user=sa}

1�� 28, 2023 10:42:25 ���� org.hibernate.engine.jdbc.connections.internal.DriverManagerConnectionProviderImpl buildCreator

INFO: HHH10001003: Autocommit mode: false

1�� 28, 2023 10:42:25 ���� org.hibernate.engine.jdbc.connections.internal.DriverManagerConnectionProviderImpl$PooledConnections <init>

INFO: HHH000115: Hibernate connection pool size: 20 (min=1)

1�� 28, 2023 10:42:25 ���� org.hibernate.dialect.Dialect <init>

INFO: HHH000400: Using dialect: org.hibernate.dialect.H2Dialect

Hibernate:

select

member0_.id as id1_0_0_,

member0_.name as name2_0_0_

from

Member member0_

where

member0_.id=?

java.lang.NullPointerException: Cannot invoke "hellojpa.Member.setName(String)" because "findMember" is null

at hellojpa.JpaMain.main(JpaMain.java:20)

1�� 28, 2023 10:42:26 ���� 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

말씀하신 코드 추가해서 메시지 내용을 복사해서 올립니다.
감사합니다

java.lang.NullPointerException: Cannot invoke "hellojpa.Member.setName(String)" because "findMember" is null

findMember가 null이라는 것으로 보아

em.find(Member.class, 1L); <- ID가 1인 데이터가 h2 DB에 없는 것으로 예상이 되는데

h2를 접속해서 Member데이터를 select쿼리를 날려 확인해주세요.

황상익님의 프로필 이미지
황상익
질문자

감사합니다 잘 해결되었습니다 member table을 다시 만들어서 쿼리를 날렸더니 잘 해결 되었습니다!

황상익님의 프로필 이미지
황상익

작성한 질문수

질문하기