hibernate逆向工程问题···
发布网友
发布时间:2022-05-16 05:30
我来回答
共1个回答
热心网友
时间:2023-10-12 14:45
<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是面向对象的,你类里有什么属性,这里就配什么字段,你account 弄2个 肯定就不对了,感觉你对这块理解的很乱,最好找资料看一看,hibernate 到底是怎么回事,希望你能采纳
<id name="accocunt" type="java.lang.String">//你user类里,account是String 类嘛?你把type 都去掉看看
<column name="account" />
<generator class="native" />
</id>