আমি যা করছি তার মতো আপনি যদি কিছু করছেন তবে নিশ্চিত নই, তবে আমি মাএভেন ব্যবহার করে কোনও বিচ্ছিন্ন অংশে জাএক্সবি ব্যবহার করে কোনও এক্সএসডি থেকে উত্স জাভা তৈরি করছি। আসুন বলুন যে এই নিদর্শনটিকে "বেস-মডেল" বলা হয়
আমি জাভা উত্স সম্বলিত এই নিদর্শনটি আমদানি করতে এবং আমার "বেস-মডেল" আর্টিক্ট জারে সমস্ত শ্রেণীর উপর হাইবারনেট চালাতে চেয়েছিলাম এবং প্রতিটি স্পষ্টভাবে নির্দিষ্ট করে দিতে চাইনি। আমি আমার হাইবারনেট উপাদানটির জন্য নির্ভরতা হিসাবে "বেস-মডেল" যুক্ত করছি তবে সমস্যাটি অধ্যবসায় ট্যাগ x এক্সএমএল আপনাকে কেবল পরম পাথ নির্দিষ্ট করার অনুমতি দেয়।
আমি যেভাবে এটি পেয়েছি তা হ'ল আমার "বেস-মডেল" জারের নির্ভরতাটি আমার টার্গেট ডিয়ারের সাথে স্পষ্টভাবে অনুলিপি করা এবং এর সংস্করণটিও ছাঁটাই করা। সুতরাং আমি যদি আমার "বেস-মডেল" আর্টিক্টটি তৈরি করি তবে এটি "বেস-মডেল -১.০-এসএনএপিএসএইচটি.জার" তৈরি করে, অনুলিপি-সংস্থান পদক্ষেপ এটিকে "বেস-মডেল.জার" হিসাবে অনুলিপি করে।
তাই হাইবারনেট উপাদানটির জন্য আপনার পম এ:
<!-- We want to copy across all our artifacts containing java code
generated from our scheams. We copy them across and strip the version
so that our persistence.xml can reference them directly in the tag
<jar-file>target/dependency/${artifactId}.jar</jar-file> -->
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-dependency-plugin</artifactId>
<version>2.5.1</version>
<executions>
<execution>
<id>copy-dependencies</id>
<phase>process-resources</phase>
<goals>
<goal>copy-dependencies</goal>
</goals>
</execution>
</executions>
<configuration>
<includeArtifactIds>base-model</includeArtifactIds>
<stripVersion>true</stripVersion>
</configuration>
</plugin>
তারপরে আমি পরের পর্বে "প্রসেস-ক্লাস" এ হাইবারনেট প্লাগইন কল করি:
<!-- Generate the schema DDL -->
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>hibernate3-maven-plugin</artifactId>
<version>2.2</version>
<executions>
<execution>
<id>generate-ddl</id>
<phase>process-classes</phase>
<goals>
<goal>hbm2ddl</goal>
</goals>
</execution>
</executions>
<configuration>
<components>
<component>
<name>hbm2java</name>
<implementation>annotationconfiguration</implementation>
<outputDirectory>/src/main/java</outputDirectory>
</component>
</components>
<componentProperties>
<persistenceunit>mysql</persistenceunit>
<implementation>jpaconfiguration</implementation>
<create>true</create>
<export>false</export>
<drop>true</drop>
<outputfilename>mysql-schema.sql</outputfilename>
</componentProperties>
</configuration>
</plugin>
এবং পরিশেষে আমার অধ্যবসায়। এক্সএমএল আমি স্পষ্টভাবে এইভাবে জারের অবস্থান নির্ধারণ করতে পারি:
<jar-file>target/dependency/base-model.jar</jar-file>
এবং সম্পত্তি যুক্ত করুন:
<property name="hibernate.archive.autodetection" value="class, hbm"/>