Eclipse에서 개발 한 Java/Spring/Hibernate 기반 웹 응용 프로그램에서 작업하고 있습니다.최대 절전 모드 엔티티를 외부화하는 방법은 무엇입니까?
이 웹 응용 프로그램은 실제로 각각의 Hibernate 저장소 클래스뿐만 아니라 몇 개의 Hibernate 엔티티 클래스를 복제하는 두 개의 다른 프로젝트입니다. 중복 된 코드를 외부 JAR 파일이나 다른 것으로 옮기는 것이 좋을 것입니다.
Hibernate 문서에서 엔터티 클래스를 persistence.xml
파일이 들어있는 새 JAVA 프로젝트에 넣어야한다고 알고 있습니다. 또한이 프로젝트를 JAR로 내보내고이를 내 메인 프로젝트의 클래스 경로에 포함시킬 수 있음을 알고 있습니다. 또한, 내 기본 프로젝트에서 내 hibernate.cfg.xml
에서이 JAR을 참조하기로되어 있음을 알고 있습니다.
나는 지금 당장 작업중인 프로젝트로는 그렇게 단순하지 않은 것 같습니다. 내가 너무 최대 절전 모드 저장소 클래스이를 포함시킬 수, 공유 코드를 보유하고 내 외부 프로젝트
:
여기에 질문입니까? 실제로 실현되어야한다면
persistence.xml
에 어떻게 표시해야합니까?내 외부 JAR에서 얼마나 작은 것이
persistence.xml
일 수 있습니까? 예를 들어, 메인 프로젝트는 이미 동면 자국어를 구성하고 있으므로,이 외부 JAR의persistence.xml
에서 빠져 나갈 수 있습니까?하이버 네이트 문서에서,
hibernate.cfg.xml
에<jar-file>
태그를 사용하여 외부 JAR 파일을 참조 할 수 있다는 것을 알고 있습니다. 그렇다면 프로젝트에hibernate.cfg.xml
이 없으면 어떻게 될까요?org.springframework.orm.hibernate3.annotation.AnnotationSessionFactoryBean
에annotatedClasses
속성을 제공하는 Spring 용 구성 XML이 있습니다. 난AnnotationSessionFactoryBean
와 외부 JAR 파일을 참조하는 예제를 찾는 많은 행운이 아니에요.
나는이 사이트에서 검색을 시도했지만 비슷한 것을 아직 찾지 못했습니다. 이 게시물이 중복되거나 어리석은 분명한 질문 인 경우 죄송합니다. 사전 :)에서
감사
편집 :
OK, 내가 궁극적으로 내 클래스 경로에 "MY_TEST.jar"
, 추가 "MY_TEST.jar"
하나가 주석하고있다 랬를 포함 시켰습니다 상정되어 알아야 할 것 같습니다 있도록 Hibernate 클래스 : src.shared.myEntity.java
아래의 Spring 구성 발췌 부분을 참조하여이 엔티티 클래스를 어떻게 참조 할 수 있습니까? Hibernate는 저장소의 개념이없는
<bean id="my.postgres.sessionFactory"
class="org.springframework.orm.hibernate3.annotation.AnnotationSessionFactoryBean">
<property name="dataSource"
ref="my.postgres.dataSource" />
<property name="annotatedClasses">
<list>
<value>src.app.EntityA</value>
<value>src.app.EntityB</value>
</list>
</property>
.........
</bean>
안녕하세요. 빠른 답변을 보내 주셔서 감사합니다. 죄송합니다. 저장소에 대해 미루고 있습니다. 내 클래스 패스에 내 외부 항아리가 있지만 Spring 구성에서 AnnotationSessionFactoryBean 속성을 사용하여 참조하는 데 문제가 있습니다. 다시, Hibernate 문서는 hibernate.cfg.xml 파일로 이것이 어떻게 이루어 졌는지에 대한 분명한 예를 보여주고 있지만, 원래 프로젝트 설계자는 이것을 포함하지 않고 Spring의 설정을 통해 모든 것을 설정하기로 결정했다. 모든 것이 컴파일되지만 스프링은 외부 엔티티 클래스를 찾을 수 없다. – Langecrew
그런 다음 문제가있는 스프링 구성을 표시하고 어떤 예외가 발생하는지 알려준다 (스택 추적). 그러나 봄은 항아리에 대해서도 신경 쓰지 않습니다. 어떤 클래스가 클래스 패스에 있다면, 그것을 찾을 것입니다. –
내 원래 게시물을 편집하여 게시했습니다. – Langecrew