создание класса из файла отображения hibernate - PullRequest
3 голосов
/ 08 июня 2010

у меня есть один файл сопоставления, а именно.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>

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

Ответы [ 3 ]

2 голосов
/ 08 июня 2010

Вам нужно Инструменты Hibernate (установите его в Eclipse).

OR

Разработка собственного плагина 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
1 голос
/ 08 июня 2010
1 голос
/ 08 июня 2010

Попробуйте инструменты гибернации с использованием hbm2java ant target. Пример 1 и 2

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...