hibernate insert 예제

삽입 작업을 표시하기 때문에 간단한 엔터티 클래스 Student를 만듭니다. 우리는 아래와 같이 자바 객체 Student.java를 만들 것입니다 : 여기서 다른 테이블에 하나의 테이블 값을 삽입하고 있습니다. ted 데이터베이스 별 (여기, 그것은 오라클) 열 유형. 삽입/업데이트에 일괄 처리를 사용하려는 경우 기본 키 생성 전략을 알고 있어야 합니다. 엔터티에서 GenerationType.IDENTITY 식별자 생성기를 사용하는 경우 최대 절전 모드는 일괄 삽입/업데이트를 자동으로 비활성화합니다. 마지막으로 이 최대 절전 모드 세션 팩터리를 사용하여 삽입 쿼리를 실행하여 데이터베이스에 직원을 저장합니다. 안녕 여러분… 누군가가 «query.executeUpdate»또는 «query.list»후, 우리는 최대 절전 모드 세션을 닫아야하는 경우 알고?? 또는 최대 절전 모드는 자동으로 합니까?? :). 다음은 삽입 작업에 최대 절전 모드를 사용하는 단계 별 가이드입니다. Save(), 업데이트() 및 delete() 메서드는 즉시 데이터를 삽입하지 않습니다.

대신 이러한 메서드는 addBatch() 문을 작성하고 실행 준비를 유지합니다. flush() 메서드는 내부적으로 하나의 executeBatch() 문을 작성하고 모든 addBatch() 문을 실행합니다. 이 스타일은 상당한 성능을 향상시킵니다. 데이터베이스에 연결할 책임이 있습니다. 프로그래머는 XML 태그의 형태로 필요한 모든 정보를 제공해야 합니다. 처음 다섯 개의 요소는 사용 중인 드라이버를 포함하여 데이터베이스에 특정 정보를 제공합니다. 이 XML 파일의 정보는 클라이언트 프로그램의 SessionFactory 개체에서 데이터베이스에 연결하는 데 사용됩니다. 동일한 Java bean 값(속성이라고 함)을 여러 데이터베이스에 삽입하려면(예: Oracle의 한 테이블과 MS-Access 의 한 테이블 등) 여러 SessionFactory 개체가 필요합니다. 물론, 세션공장 자체에 대해 걱정하지 마십시오. 나는 http://www.mkyong.com/hibernate/hibernate-many-to-many-relationship-example/ 기사에서 제안 한 대로 많은 데모를 만들었습니다 . 이제 query.executeUpdate를 사용하여 stockName 의 주식 테이블을 업데이트하는 hql을 구현하고 있습니다.

그러나 단일 테이블의 경우 변경 내용을 반영하여 오류 또는 예외를 제공하지 않습니다. 내 코드는 이것이다 :- 개인 정적 보이드 업데이트QueryDemo (세션 세션) { session.beginTransaction (); 쿼리 쿼리 = session.createQuery(«스톡 세트 스톡Name=:name 여기서 stockCode=:code») System.out.println(query.getQueryString()); query.setParameter(«코드», «»);; query.setParameter(«이름», «mystockName»); int 상태 = query.executeUpdate(); System.out.println(상태); session.getTransaction().커밋(); } 내 최대 절전 모드 추적은 :- 최대 절전 모드: 변경 테이블 stock_카테고리 드롭 외국 키 FK97929007DE707CAF 최대 절전 모드: 변경 테이블 stock_카테고리 드롭 외국 키 FK979290007FA55A265… 자세히 보기 » 여기서는 지속성 컨텍스트에서 엔터티를 플러시하여 최대 절전 모드가 데이터베이스에 쿼리를 보냅니다. 또한 지속성 컨텍스트를 지울 수 있으므로 학교 엔터티를 메모리에서 제거합니다. 일괄 처리 동작은 동일하게 유지됩니다. 이 단계는 정의된 클래스 또는 클래스를 데이터베이스 테이블에 매핑하는 방법을 최대 절전 모드로 지시하는 매핑 파일을 만드는 것입니다.

Next Post:
Previous Post: