(mywes)


他们彼此深信,是瞬间迸发的热情让他们相遇。这样的确定是美丽的,但变幻无常更为美丽

留言簿

公告

最新日志

最新评论

搜索

登陆

友情连接

统计

2007/3/9 10:27:00
Middlegen-Hibernate-r5 hibernate 的配置注意事项

首先:修改你的数据库配置文件,我用的是数据库是oracle,修改oracle.xml

    < property  environment ="env" />

   
< property  name ="database.script.file"            value ="${src.dir}/sql/${name}-oracle.sql" />
   
< property  name ="database.driver.file"            value ="${lib.dir}/classes12.jar" />
   
< property  name ="database.driver.classpath"       value ="${database.driver.file}" />
   
< property  name ="database.driver"                 value ="oracle.jdbc.driver.OracleDriver" />
   
< property  name ="database.url"                    value ="jdbc:oracle:thin:@localhost:1521:cqeagle" />
   
< property  name ="database.userid"                 value ="eagle" />
   
< property  name ="database.password"               value ="eagle" />
   
< property  name ="database.schema"                               value ="eagle" />
   
< property  name ="database.catalog"                value ="" />
   
< property  name ="jboss.datasource.mapping"        value ="Oracle8" />
上的的配置文件得注意database.schema 属性,这个属性为数据库用户名称在此。如果不加上这个的value值 就会抛出\build.xml:148: middlegen.
MiddlegenException: Middlegen successfully connected to the database, but couldn
't find any tables. Perhaps the specified schema or catalog is wrong? -Or maybe
there aren't any tables in the database at all? 这个异常,在就是修改build.xml文件。搜索--(entity)   改成你自己的文件路径到oracle.xml。 搜索--(airline)  把它的值改成HibernateSample  搜索---(name=build.gen-src.dir) 指向你自己的输出地址:我的是../../src 在查找destination  修改
<hibernate
            
destination="${build.gen-src.dir}"
            package
="org.eagle.hibernate"
            genXDocletTags
="true"
            genIntergratedCompositeKeys
="false"
            javaTypeMapper
="middlegen.plugins.hibernate.HibernateJavaTypeMapper"
         
/>

用MiddleGen和Hibernate-Extension自动生成Hibernate文件

在应用中,Hibernate可以把数据库表对象化,其中重要的文档就是VO(虚拟对象)和*.hbm.xml,这两个文件是一一对应的,数据库中每个表都映射成一个VO,即一个JavaBean,而后者负责记录对象到数据库的映射。所以要使用Hibernate,首先就应该生成这两种文件。我们用自动工具来生成。

在这之前先描述一下部署的位置,作为Web应用,要部署Hibernate,应把hibernate.cfg.xml放到classes目录中,注意其中不再包含连接数据库的内容,同时log4j.properties文档也放在这里(类的根目录);把VO和hbm.xml文档打包后放到lib目录中;最后在server.xml中配置该Web应用,并加上数据库的连接。

用MiddleGen可以从数据库中读取该用户的所有表结构,生成*.hbm.xml,然后可以利用Hibernate-Extension把xml转成对应的JavaBean(VO)。由于这两个工具都针对Hibernate2开发,所以要进行一些修改和自定义的设置。

MiddleGen要做的修改包括:修改数据库的配置文件,注意database.schema要填入Oracle的用户名才可以;修改ant使用的build.xml,主要是改变build.gen-src.dir属性和hibernate标签中的package,这样可以在指定目录直接生成。由于该文件太大,还涉及到许多其他内容,以后再详述。如果只用到生成hbm的功能,只需要键入“ant Middlegen”即可。

Hibernate-Extension的修改主要集中在对Hibernate3的适应。修改所有类的路径,以org开头;修改CompositeUserType和UserType的路径;修改StringHelper类中的常数参量;有一个类找不到,去掉好像也没有什么关系,程序中用@@@注明;在环境设置文件中加入新的hibernate-extension的jar,或替换旧的,jar中放入log4.properties。执行语句hbm2java $hbm文件地址$ --output=$目的路径$,注意包名的路径不需要。

最后应该让hbm文件和java文件在同一个目录中,即java文件的包名。

发表评论:

    昵称:
    密码:
    主页:
    标题: