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