2014-12-17 4 views
2

최대 절전 모드 orm 옵션, 만들기, 만들기 - 놓기, 업데이트 및 유효성 검사.최대 절전 모드에서 생성, 업데이트하지 않음, 삭제하지 않음.

한 번만 생성했지만 삭제 또는 업데이트하지 않는 항목이 있습니까?

존재하지 않는 경우 그냥 만들거나, 업데이트하지 않고, 삭제하지 말라는 옵션이 있습니까?

+0

@itguysouth가 아래에 말했던 것을 권하고 싶습니다. 또는 "create"를 사용할 수 있습니다. 엔티티가 만들어지면 엔티티는 다시 none으로 설정됩니다. –

+0

@AbdullahShaikh 그러면 내 대답을 확인해야합니다. 그것은 그것이 얼마나 좋은지입니다. – momomo

답변

0

이 문제에 대한 해결책을 직접 작성해야했습니다. 최대 절전 모드 또는 jpa를 사용하여이 작업을 수행 할 수 없습니다.

1

찾고있는 한 번만 최대 절전 모드 플래그로 존재하지 않습니다. 귀하의 시나리오를 위해서는 외부 도구를 사용하여 DB의 DDL을 관리하고 hibernate.hbm2ddl.auto을 사용하지 않는 것이 좋습니다. Pesonally, 나는 http://www.liquibase.org/을 추천 할 수있다. DB를위한 소스 컨트롤로 광고하고, 빠르게 변화하는 모델로 다른 브랜치에 대해 작업 할 때, 실제로 개발을 잘 지원한다.

Liquibase는 DB에 적용된 모든 변경 사항을 저장하는 changeLog.xml 파일을 중심으로 구성됩니다. 따라서 모델을 변경하면 diffLog가 생성되어 changeLog.xml에 대한 xml 항목이 생성됩니다. 원본으로 사용하는 DB는 적용된 변경 사항을 추적하므로 업데이트를 적용하고 업데이트를 적용하고 SQL을 마이그레이션하고 DB를 비우거나 그대로두면 제어 할 수 있습니다.

+0

난 그냥 실행하고 싶지 만, 그냥 수동으로 나중에 그것을 종료하는 데 다음 작성을 시작으로 조롱하지 않고 망할 데이터베이스를 만들고 싶습니다. https://docs.jboss.org/hibernate/orm/4.1/manual/en-US/html/ch03.html 섹션에서 hibernate.hbm2ddl.auto create가 옵션으로 언급됩니다. – momomo

+0

"만들기"를 사용하고 "없음"으로 전환하거나 DB를 가지고있는 빈 유청을 그대로 두십시오. –

+0

그래, 그게 내가하고 싶지 않은거야. 응용 프로그램을 시작하고 종료하고 프로덕션 환경의 임의의 파일로 이동 한 다음 변경 한 다음 다시 시작하고 싶지 않습니다. 나중에 그것을 삭제해야 할 경우 수동으로 데이터베이스를 드롭 한 다음 f *** g 단계를 두 번 반복해야합니다. – momomo

1

다음은 hibernate.hbm2ddl.auto의 옵션을 요약 한 기존 토론입니다. hbm2ddl discussion

Hibernate를 사용하는 상점에서는 Hibernate 도구가 데이터베이스 스키마를 수정하는 것을 허용하는 대신 DBA가 직접 실행하는 SQL DDL 스크립트를 사용하여 실제 데이터베이스 계층을 별도로 관리하는 것이 일반적입니다. 여전히 Hibernate로 하여금 이것을 실행하게하고 싶다면 hibernate.hbm2ddl.import_files 옵션을 사용하여 커스텀 스크립트 파일을 제공함으로써 수동으로 DDL 작업을 조정할 수있다.

ORM이 역으로 반대로 phyyical 모델을 지정하게하려면 hbm2ddl.auto를 '업데이트'로 남겨 둘 수 있습니다. 다른 옵션은 엔티티 매핑이나 메타 데이터 (주석)를 안내 입력으로 사용하여 hibernate.hbm2ddl.import_files에서 참조 된 스크립트 파일을 프로그래밍 방식으로 생성하는 것입니다.

+0

업데이트하고 싶지 않습니다. 난 그냥 편리하게 만들어지기를 원했지만 떨어 뜨리거나 변경하지 않기를 바란다. 그것은 아주 이상한 일로, 아무도 이것을 가능한 유스 케이스로 생각하지 않습니다. 언젠가 import_files 옵션을 살펴 보겠다.하지만 지금은 서버에 전쟁을 보내고 실행을 중단하고, 종료하고, 종료하고, 실행을 종료하고, 원하는만큼 여러 번 테이블을 변경하거나 삭제하는 등의 작업을 수행하려고합니다. 알았어. – momomo

+0

. 아무 것도 표시하지 않거나 유효성을 검사하고 모델이 변경되면 수동으로 직접 변경하십시오. 변경 사항이 없으면 none으로두면 서버 시작 시간이 크게 줄어 듭니다. – itguysouth

+0

나는 그냥 dabatase를 만들고 싶었다. 나는이 somehome를 프로그램으로 점검해야 할 것이다. – momomo

관련 문제