请参考:百度经验
请参考:百度经验
请参考:
主要:百度经验:实用myeclipse的反向工程生成hibernate映射文件 (全部按照此文章配置即可)
辅助:百度经验:myeclipse从数据库反射生成实体类和映射文件
补充:
第三步:
若您使用的是SQL Server 2008,url填写格式如下:
jdbc:sqlserver://localhost:1433;databaseName=TrainingCourseManagement
其中
localhost是我的服务器名。
1433是访问的端口号。
TrainingCourseManagement是我的数据库名。
第5步:直接点finish即可。
若是已经完成了,一段时间后修改了数据库,需要重新进行反向工程,步骤将略有不同,如下:
首先将修改的表对应的实体类、DAO文件、.hbm.xml文件删除,即右键文件——>delete。注意,您在修改完一个表后,可能与之相关联的多个表都需要重新生成(即删除与某个表相关的三个文件后,Myeclipse中某些实体类,DAO文件等亦出错,这时,与这些相关的表也需要重新反向生成。),其他文件,如applicaionContext.xml等会自动更新。
第五步:直接点击next
第六步:然后点击finish即可。
然后运行项目,Console窗口中可能会提示"Invalid property 'sessionFactory' of bean class [...]"的错误,原因是DAO文件中继承的父类(按如上方法会extends BaseHibernateDAO)不对,应该将其改为"HibernateDaoSupport",然互import其所在的包名即可。
参考网站:
第一次进行反向工程时——新浪博客
修改了数据库后——百度知道(参考其中的“提问者评价”)
请参考:CSDN博客,五种约束
请参考:百度经验,外键约束。注意:若欲将某列设置为外键,则此列要设置为允许为null。
右键你的表-->设计表-->找到你的id字段(类int型)-->标识-->是-->标识种子(初始值)-->标识递增量
原文地址:百度知道
对于想要设置默认值的列,首先将其设为不允许为null,(如果你允许为null值的话,你所设置的默认值会无效,会默认为null),然后在“默认值或绑定”中输入默认的值,比如0。如下:
注意:此处有大Bug!
若在插入Model的时候提示Property不能为null,则是SQL Server的Bug。
Linq to SQL中,对于数据库中允许为null,但是设置了默认值的字段,默认生成的Model会将null值插入,不会使用数据库的默认值。
解决方法:
a 使用insert语句插入
insert into 表名(货币种类,存款类型,密码)
values(default,活期,default)insert into 表名(存款类型)
values(活期)
“default”即对应设置了默认值的列。
b 给私有字段设置默认值
目前的解决办法是在私有字段上手工同步设置数据库的默认值。如果想保证数据库字段不因为代码疏忽而插入null值,设置字段默认值是无用的,仍然会被LINQ插入默认值,只能够设置此字段为not null。
即,用初始化器设置私有字段的默认值:private string _nvarcharNotnull = "AAA";
参考网站:
CSDN
百度知道
百度经验
==============================================================================================================