2
나는 persistence.xml을 매개 변수화했습니다. hbm2ddl을 사용하여 ddl 스키마를 생성하려고합니다. 이 도구에 매개 변수를 전달하려면 어떻게해야합니까? 난 (-Dpersistence.dialect = 값을 이용하여) 서버 파라미터 값 JAVA_OPTS로 전달 시작하면 hbm2ddl에 매개 변수 전달
<property name="hibernate.connection.driver_class" value="${persistence.connection.driver.class}"/>
<property name="hibernate.dialect" value="${persistence.dialect}"/>
<property name="hibernate.connection.password" value="${persistence.password}"/>
<property name="hibernate.connection.username" value="${persistence.username}"/>
같이
persistence.xml을 내 보인다. 그리고 그것은 잘 작동합니다.
어떻게 hbm2ddl을 사용하여이 작업을 수행합니까?
나는 재산<hibernatetool destdir="${gensrc.sql.dir}">
<property key="persistence.dialect" value="org.hibernate.dialect.Oracle9Dialect"/>
<jpaconfiguration persistenceunit="${persistence.unit.name}" />
<classpath>
<!-- it is in this classpath you put your classes dir,
and/or jpa persistence compliant jar -->
<path location="${build.classes.dir}" />
</classpath>
<hbm2ddl export="false" drop="true" outputfilename="create_${ant.project.name}.sql" format="true" haltonerror="true" />
</hibernatetool>
을 시도하지만이 값을하지 않습니다. 그것은 나에게 오류를 보여줍니다.
build.xml:160: org.hibernate.HibernateException: Dialect class not found: ${persistence.dialect}
감사 파스칼. https://www.hibernate.org/hib_docs/tools/reference/en/html/ant.html을 참조했습니다. 개미를 사용하여 어떻게 할 수 있습니까? 내 말은 당신이 내에서이 속성들을 어디에 지정해야 하는지를 가리킬 수 있는가? 고마워. –
@지가 죄송합니다, 잘못된 링크. 내 anwser를 다른 제안으로 업데이트했습니다. –
다시 한번 감사드립니다. 그것은 효과가 있었다. (첫 번째). (jpaconfiguration은 prop 속성을 지원하지 않습니다.) 작은 문제는 여전히 남아 있습니다. persistence.xml을 매개 변수화하는 목적은 런타임에이 값을 변경하는 것이 었습니다. 그래서 oracle 용 ddl을 생성하고 싶다면 방언으로 param을 지정하면 ddl을 생성 할 수 있습니다. 여기 hibernate.dialect = oracle.driver를 사용하여 파일을 지정해야합니다. 나는 지금 그것을 해왔다. 답장을 보내 주셔서 감사합니다. –