2010-06-08 4 views
3

У меня есть один файл сопоставления, а именно: student.hbm.xml .. Мне нужно создать Student.java из того же самого. файл ниже: -генерация класса из файла сопоставления спящего режима

<?xml version="1.0" encoding="UTF-8"?> 
<hibernate-mapping> 
    <class name="org.hibernate.entity.ClassRoom" table="class_room"> 
     <id name="roomId" column="room_id" type="int"/> 
     <property name="roomClass" column="room_class" type="string"/> 
     <property name="floor" column="floor" type="int"/> 
     <property name="roomMaster" column="room_mast" type="string"/> 
    </class> 
</hibernate-mapping> 

есть ли способ я могу создать файл класса из приведенной выше file.please помощи ...

+0

возможно дубликат [POJO из файла HBM] (http://stackoverflow.com/questions/ 2711408/pojo-from-hbm-file) – naXa

ответ

2

Вам необходимо Hibernate Tools (установите его в затмение).

ИЛИ

Разработка пользовательских Maven плагин ... (код имеющийся образец ниже)

/** 
* Generate POJO from *.hbm.xml 
* Example Usage: mvn prefix:hbm2pojo OR 
*    mvn prefix:hbm2pojo -Dexec.args="com.comp.Product,com.comp.Item" 
* 
* @goal hbm2pojo 
*/ 
public class GenerateHibernatePojoMojo extends AbstractMojo 
{ 
    /** Directory for hibernate mapping files 
    * @parameter expression="${basedir}/src/main/resources" 
    * @required 
    */ 
    private File hbmDirectory; 

    /** Output directory for POJOs 
    * @parameter expression="${project.build.sourceDirectory}" 
    * @required 
    */ 
    private File outputDirectory; 

    /** set to true if collections need to use generics. Default is false. 
    * @parameter expression="${jdk5}" default-value="false" 
    * @optional 
    */ 
    private String jdk5; 

    public void execute() throws MojoExecutionException, MojoFailureException 
    { 
     POJOExporter exporter = new POJOExporter(); 
     exporter.setOutputDirectory(outputDirectory); 

     Configuration config = new Configuration(); 
     config.setProperty("jdk5", jdk5); 

     String args = System.getProperty("exec.args"); 
     if (args != null && !"".equals(args)) 
     { 
      String[] entityNames = args.split(","); 
      for(String entityName : entityNames) 
      { 
       File hbmFile = new File(hbmDirectory + "/" + entityName.replace('.', '/') + ".hbm.xml"); 
       config.addFile(hbmFile); 
      } 
     } 
     else 
     { 
      config.addDirectory(hbmDirectory); 
     } 
     exporter.setConfiguration(config); 
     exporter.start(); 
     // TODO this guy also generates unwanted POJOs like POJO of component 
     // TODO Add support for Java 5 Generic 
    } 

} 
  • SE
+0

может у вас, пожалуйста, скажите мне, откуда взять банку maven. –

+0

Не могли бы вы рассказать о своем вопросе? Btw, вы можете получить все самые все банки из http://repo1.maven.org/maven2/. - SE – dira

Смежные вопросы