주석이 달린 클래스와 관련된 HibernateUtil 문제

임 라파엘

내 프로젝트에서는 hibernate.cfg.xml을 사용하지 않고 대신 사용하고 있습니다.

내가 다음과 같이 구성한 HibernateUtil 클래스 :

public class HibernateUtil {
private static SessionFactory sessionFactory  ;
static {
    Configuration configuration = new Configuration();

    configuration.addAnnotatedClass (Model.User.class);
    configuration.addAnnotatedClass (Model.CarInfo.class);
    configuration.setProperty("hibernate.connection.driver_class","com.mysql.jdbc.Driver");
    configuration.setProperty("hibernate.connection.url", "jdbc:mysql://localhost:3306/test");
    configuration.setProperty("hibernate.connection.username", "root");
    configuration.setProperty("hibernate.connection.password", "");
    configuration.setProperty("hibernate.dialect", "org.hibernate.dialect.MySQLDialect");
    configuration.setProperty("hibernate.hbm2ddl.auto", "update");
    configuration.setProperty("hibernate.show_sql", "true");
    configuration.setProperty(" hibernate.connection.pool_size", "50");

    StandardServiceRegistryBuilder builder = new StandardServiceRegistryBuilder().applySettings(configuration.getProperties());

    sessionFactory = configuration.buildSessionFactory(builder.build());

}
public static SessionFactory getSessionFactory() {
    return sessionFactory;
}
}

그리고 모든 crud 작업이 작동하지만 큰 문제가 있습니다. 어떤 이유로이 두 개의 다른 테이블이 동일한 ID 카운터를 공유합니다. 즉, 사용자를 추가하고 사용자가 1의 ID를 얻습니다. 문제 없습니다!

그런 다음 car_info를 추가하려고 시도하고 car_id는 1이어야하지만 2로 돌아가서 새 사용자를 추가하면 그는 ID가 3입니다. 왜 이런 일이 발생하는지 이해할 수 없습니다.

내 HibernatUtil 클래스가이 문제를 일으키고 있다고 가정하지만 이유를 모르겠습니다. 이것은 기본 필드가있는 자동차 클래스입니다.

 @Id
@GeneratedValue(strategy = GenerationType.AUTO)
@Column(name="car_id")
private int car_id;

이것은 속성 필드가있는 다른 클래스입니다.

@Entity
@Table(name = "user")
@Access(AccessType.PROPERTY)
public class User

@Id
@GeneratedValue(strategy = GenerationType.AUTO)
@Column(name = "id")
public int getId() {
    return id.get();
}

다시 CRUD 작업은 두 가지 모두에서 작동합니다. 왜 최대 절전 모드가 두 개의 다른 테이블에 대해 ID 카운터를 공유하는지 이해하지 못합니다.

임 라파엘

좋아, 그래서 문제의 원인을 찾았습니다.

사용

@GeneratedValue(strategy = GenerationType.AUTO)

최대 절전 모드는 데이터베이스에 정의 된 기본 전략을 사용하며 대부분의 경우 IDENTITY이지만 제 경우에는 생성 유형을 자동으로 설정하는 것이 SEQUENCE 생성 유형을 선택하는 것입니다.

그래서 두 가지 가능한 해결책이 있습니다.

@GeneratedValue(strategy = GenerationType.IDENTITY)

또는

@GeneratedValue(strategy=GenerationType.SEQUENCE, generator="pk_gen")
@SequenceGenerator(name="pk_gen", sequenceName="p_seq", allocationSize=1)

이제 나는 이것의 원인이 무엇인지 모르겠습니다. 아마도 mysql이 최신 버전 5.7.17에서 변경 한 것이 내가 사용하는 것입니다. 최대 절전 모드 버전은 5.2.6입니다.

이것이 다른 사람에게도 도움이되기를 바랍니다.

건배

이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.

침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제

에서 수정
0

몇 마디 만하겠습니다

0리뷰
로그인참여 후 검토

관련 기사

분류에서Dev

클래스와 관련된 Python 문제

분류에서Dev

클래스 수준 코드 내부의 사전 이해와 관련된 Python 범위 지정 문제

분류에서Dev

XML 데이터 액세스와 관련된 PHP foreach 문 문제

분류에서Dev

웹 스크래핑 IMD 웹 사이트와 관련된 몇 가지 문제

분류에서Dev

glDrawRangeElements와 관련된 문제

분류에서Dev

양식 데이터 게시와 관련된 MEAN 스택 문제

분류에서Dev

Windows 7 재설치와 관련된 라이선스 문제

분류에서Dev

입력 태그와 관련된 Chrome 디스플레이 문제

분류에서Dev

데이터 복사와 관련된 C ++ 스레드 문제

분류에서Dev

19.10 : crypttab 및 업데이트와 관련된 스왑 문제

분류에서Dev

이미지 액세스와 관련된 Apache 권한 문제 (CentOS)

분류에서Dev

일부 주석으로 주석이 달린 클래스 인스턴스화

분류에서Dev

제네릭 형식 유추와 관련된 이상한 문제

분류에서Dev

모달 내부의 확장 가능한 텍스트와 관련된 CSS 문제

분류에서Dev

템플릿 "클래스"를 구문 분석 할 수 없습니다-Intellj Idea에서 HibernateUtil 클래스를 구성하는 방법이 있습니까?

분류에서Dev

어레이와 관련된 Monty Hall 시뮬레이션 문제

분류에서Dev

SpringData Mongo 저장소의 클래스와 관련된 자동 연결 문제

분류에서Dev

SpringData Mongo 저장소의 클래스와 관련된 자동 연결 문제

분류에서Dev

주석이 달린 PDF 파일에서 텍스트 문자열 검색

분류에서Dev

라인 높이와 관련된 CSS 배경 단색 문제

분류에서Dev

포인터와 관련된이 코드의 문제점

분류에서Dev

데이터로드와 관련된 ASP.NET Core OnPost () 문제

분류에서Dev

Struts 2 양식 처리와 관련된 이상한 문제

분류에서Dev

npm 설치와 관련된 이상한 문제

분류에서Dev

C : 이중 포인터와 관련된 Realloc 문제

분류에서Dev

파이썬의 virtualenv와 관련된 많은 문제

분류에서Dev

QML의 신호와 관련된 이상한 문제

분류에서Dev

Dwarf Fortress 설치와 관련된 이상한 문제

분류에서Dev

Dwarf Fortress 설치와 관련된 이상한 문제

Related 관련 기사

  1. 1

    클래스와 관련된 Python 문제

  2. 2

    클래스 수준 코드 내부의 사전 이해와 관련된 Python 범위 지정 문제

  3. 3

    XML 데이터 액세스와 관련된 PHP foreach 문 문제

  4. 4

    웹 스크래핑 IMD 웹 사이트와 관련된 몇 가지 문제

  5. 5

    glDrawRangeElements와 관련된 문제

  6. 6

    양식 데이터 게시와 관련된 MEAN 스택 문제

  7. 7

    Windows 7 재설치와 관련된 라이선스 문제

  8. 8

    입력 태그와 관련된 Chrome 디스플레이 문제

  9. 9

    데이터 복사와 관련된 C ++ 스레드 문제

  10. 10

    19.10 : crypttab 및 업데이트와 관련된 스왑 문제

  11. 11

    이미지 액세스와 관련된 Apache 권한 문제 (CentOS)

  12. 12

    일부 주석으로 주석이 달린 클래스 인스턴스화

  13. 13

    제네릭 형식 유추와 관련된 이상한 문제

  14. 14

    모달 내부의 확장 가능한 텍스트와 관련된 CSS 문제

  15. 15

    템플릿 "클래스"를 구문 분석 할 수 없습니다-Intellj Idea에서 HibernateUtil 클래스를 구성하는 방법이 있습니까?

  16. 16

    어레이와 관련된 Monty Hall 시뮬레이션 문제

  17. 17

    SpringData Mongo 저장소의 클래스와 관련된 자동 연결 문제

  18. 18

    SpringData Mongo 저장소의 클래스와 관련된 자동 연결 문제

  19. 19

    주석이 달린 PDF 파일에서 텍스트 문자열 검색

  20. 20

    라인 높이와 관련된 CSS 배경 단색 문제

  21. 21

    포인터와 관련된이 코드의 문제점

  22. 22

    데이터로드와 관련된 ASP.NET Core OnPost () 문제

  23. 23

    Struts 2 양식 처리와 관련된 이상한 문제

  24. 24

    npm 설치와 관련된 이상한 문제

  25. 25

    C : 이중 포인터와 관련된 Realloc 문제

  26. 26

    파이썬의 virtualenv와 관련된 많은 문제

  27. 27

    QML의 신호와 관련된 이상한 문제

  28. 28

    Dwarf Fortress 설치와 관련된 이상한 문제

  29. 29

    Dwarf Fortress 설치와 관련된 이상한 문제

뜨겁다태그

보관