SSH 总结(1)

来源:互联网 发布:玄彬韩国地位知乎 编辑:程序博客网 时间:2024/06/05 07:03

  写给和我一样是菜鸟的你

都是一些小错误,和我自己的一些看法,不一定对,请大家多多指教


1、如果你将会在程序中从数据库中取出一个含有List等集合类型的与的对象,记得在.hbm.xml文件中将该集合对应的表设置成非延迟加载的

<list name="funs" inverse="false" table="USERFUNS" lazy="false">


2、oracle 数据库不支持identity属性,可以使用increment或者native等主键生成策略,注意increment 在集群中不要使用,推荐使用native(自动帮你选择)


3、在oracle中从数据库中取出的number最好是用Number类型接收,你的Integer int Double 在数据库中都是以number的类型存在的,有的时候不能直接做类型转换,使用Number接收后在按需做相应的类型转换操作


4、注意表与表直接的级联关系,以数据库的属性为准,配置文件的信息不一定是准确的,也许你以为你在配置文件中进行了设置就可以了,其实数据库平没有那没听话,也许它没有进行相应的设定,这个错你不注意会找疯的,别问我怎么知道的

5、关于session的获得方式推荐使用sessionFactory.getCurrentSession();理由如下

比较节约类存,相对于.openSession()

获得的session会自动close();

记得每次的session都必须提交事物,每次进行新的数据库操作的时候都学要获得一下CurrentSession和一个事物,该事物提交后session会自动关闭

6、Spring托管的对象不是越多越好,也不是越少越好,我觉得需要根据项目的具体需求和服务器的条件做决定

7、在开始编码之前一定要把数据库设计的很完善,否则一旦数据库发生一点小的变化程序都需要进行大量的修改

8、编码的过程中一点记得随时备份和测试,这样反而比一次性测试高效;不要觉得备份麻烦,一旦你的电脑挂了,你会觉得备份文件是那么的亲切

   9、从各个包中继承的方法记得一定加上@Override 的注解,否则你以为你写的是一个重载的execute()方法,其实你是写的一个execute(String a),如果是这样,你就找去吧,不要砸电脑!




0 0
原创粉丝点击