설치 과정에서 자바 속성을 제어하는 방법을 찾고 있습니다.즉시 자바 속성을 어떻게 수정할 수 있습니까?
내 응용 프로그램에서 Spring Data JPA + Hibernate를 사용하고 있습니다. bean에 jpa 속성을 설정했습니다. 그리고 그것을 속성 파일로 옮깁니다.
<bean id="entityManagerFactory" class="org.springframework.orm.jpa.LocalContainerEntityManagerFactoryBean">
<property name="persistenceXmlLocation" value="classpath*:META-INF/persistence.xml"></property>
<property name="persistenceUnitName" value="hibernatePersistenceUnit"/>
<property name="dataSource" ref="dataSource"/>
<property name="jpaVendorAdapter">
<bean class="org.springframework.orm.jpa.vendor.HibernateJpaVendorAdapter" />
</property>
<property name="jpaPropertyMap">
<map>
<entry key="hibernate.hbm2ddl.auto" value="${hibernate.hbm2ddl}"/>
<entry key="hibernate.show_sql" value="${hibernate.show.sql}" />
<entry key="hibernate.dialect" value="${hibernate.dialect}" />
</map>
</property>
</bean>
속성 파일 : prop-local-override.properties 여기서 local은 환경 변수입니다.
hibernate.hbm2ddl=update
#hibernate.dialect=org.hibernate.dialect.HSQLDialect
hibernate.show.sql=true
이렇게 모든 것이 정상적으로 작동합니다. 하지만 설치 과정에서 hibernate.hbm2ddl을 바꾸고 싶습니다. 내 응용 프로그램을 설치하기 위해 rpm 패키지를 사용합니다. 예를 들어 앱을 설치할 때이 속성을 '만들기'로 설정하려고합니다. 다시 시작할 때마다 업데이트로 돌아갑니다.
-Dhibernate.hbm2ddl = update가 정상적으로 작동합니다. 그러나 수동 작업입니다. Puppet과 같은 커다란 도구없이 자동으로 만드는 방법에 대한 아이디어가 있습니까?
감사합니다, Sergii K.
무엇 '업데이트'에 문제가 있습니까? 스키마가 존재하지 않으면 스키마를 생성하고 스키마가 존재하면 스키마를 업데이트합니다. –
사실 아무것도 잘못되었습니다. 내 데이터베이스에는 내가 사용하는 데이터가 들어 있습니다. 이 데이터는 자동으로 hibernate.hbm2ddl.import_files 속성에 삽입됩니다. 응용 프로그램을 설치할 때 해당 데이터를 데이터베이스에 저장하려고합니다. 그러나이 속성은 만들기 및 만들기 - 놓기 값에서만 작동합니다. 그래서 나는 그것을 동적으로 수정하고 싶다. 그리고 응용 프로그램을 설치할 때 "create"를 설정하고 다시 시작하거나 업데이트 할 때 "update"를 설정하십시오. 그게 전부 야. –