使用百Hibernate 正向生成表结构的,适合采用OO设计的方式。
逆向工程通过表生成Hibernate的,适合采用传度统的面向数据设计的方式,先设计数据库,后生成hibernate代码版。
用什么权好,看你的项目采用什么样的设计方式。
正逆向没有绝对的好与不好,完全知看人员水平和擅长技术来决定。
你感觉逆向方便,但也得有数据库才能逆啊,设计数据库和设计OO模型一样费劲,而且更难把握业务逻辑。
但是先设计OO模型的话,又要注意很多设置细节,以免道数据库出现性能问题,hibernate也相当复杂,不是会个增删改查级联设一下字段缓存就算会用hibernate了的,要用好也不容易。
设计OO需要有相当的抽象能力,抽象得不好会让工作复杂度大增,其实直接设计数据库往往更容易出现这版样的情况。
如果公司有数据库高手,需要追求极致性能,那一般会先设计数据库进行逆向权生成。如果有hibernate高手,而且系统更重视业务逻辑的高效率,那就先设计OO模型。
hibernate 在大型的web系统中经常2113用到 ,使用hibernate的主要作用是把可以轻松的使用数据库对象 ,也就是数据库中的5261一个表,可以为数据库中的每一个具体的表生成一个具体的类,这4102个类可以自动生成,同时还会生成java类与数据库中标的属性的映射关1653系,从而方便的操作数据库中的表对象,不用每次都连接数据库,是一种轻量级的持久化机制,可以结合struts使用专,struts主要是实现控制复杂页面的跳转的。你可以借一本讲属hibernate的书看看 。。
<property name="account" type="java.lang.String">
<column name="account" length="50" not-null="true" />
</property>
这个属性去掉,
<id name="uid" type="java.lang.Integer">
<column name="uid" />
<generator class="native" />
</id>
把uid 改成account
id name ="account"
column name = "account"
反射文件里,id 就指主键,column name是它所对应的数据库字段
******************************************************************
那个自动生成你最好别用,因为会出问题,一般都手动写,或者自动生成后,自己再修改下,关键是要理解映射的原理,下面给你个简单的例子,你参考参考:
<hibernate-mapping>
//这个是你的类名和 对应数据库表名
<class name="pojo.Person" table="person" >
//这个 id 代表主键,type 你其实可以省略,如果写的话type一定要与你对象里对应属性的类型相同,你的account 是String类的吗?好好检查下
<id name="id" type="java.lang.String">
<column name="id" ></column>
//主键生成方式
<generator class="assigned"></generator>
</id>
//这些都是普通的属性了
<property name="name">
<column name="name"></column>
</property>
<property name="sex">
<column name="sex"></column>
</property>
<property name="password">
<column name="password"></column>
</property>
</class>
</hibernate-mapping>
//最后说下,hibernate是面向对象的,e79fa5e98193e59b9ee7ad9431333264643162你类里有什么属性,这里就配什么字段,你account 弄2个 肯定就不对了,感觉你对这块理解的很乱,最好找资料看一看,hibernate 到底是怎么回事,希望你能采纳
<id name="accocunt" type="java.lang.String">//你user类里,account是String 类嘛?你把type 都去掉看看
<column name="account" />
<generator class="native" />
</id>
这是hibernate 自动生成的一个组合主键呢. 这是根据你数据库设计生成的,如果不喜欢你可以把那个 busid.java 主键移动到bus.java 自己动手改改bus.hbm.xml 试试
用户登录
还没有账号?立即注册
用户注册
投稿取消
文章分类: |
|
还能输入300字
上传中....