1. 列不允许有NULL值,INSERT失败。 原因:数据库的表 没有设置主键!(遇到至少2次)
客户的数据库是由客户自己去维护的!
2. 项目重构后Flex端卡死了。
原因:Hibernate底层 获得Session使用 openSession方法,导致Spring不再管理Session,而我们又没有手动关闭session。
合适的使用方式:在Spring中,使用Hibernate的getCurrentSession,session由Spring自动关闭。
3. Hibernate HQL语句找不到对象,提示“对象名mdpDefine无效”。
原因:数据库表被 误删除了!
4. Hibernate createSQLQuery()
以前在使用原生SQL查询时,都会加上addEntity(在最初学习的时候,书上的例子加上了.addEntity)。
而项目中有的地方没有加入,此时 List<MyObject> list = query.list()会报错。
如果不加入addEntity,Hibernate不能解析select语句中的属性。
List<Object[]> list = query.list();
5.Spring中获取 BeanFactory,有些地方需要 获取 注入的对象。
比如工具类中,而工具类又不能实例化,进而不能注入对象。
@Service//这个注解不可少
public class SpringBeanUtils implements BeanFactoryAware{
private static BeanFactory beanFactory;
public void setBeanFactory(BeanFactory beanFactory){
SpringBeanUtils.beanFactory=beanFactory;
}
public static Object getBean(String beanName){
beanFactory.getBean(beanName);
}
}
public class Test{
public void myMethod(){
KeywordServie keywordService = (KeywordService)SpringBeanUtils.getBean("keywordService");
}
}
6. Integer与int不同。(2个Comment类,1个是 int,1个是Integer)
知道Integer应该调用equals,但是 有的是 int,有的Integer,多了 你还能知道么??
==与equals是不同的
这个地方还有个“秘密”。Integer(-127到128)用 == 比较也是true,因为使用了JDK对这些Integer对象进行了缓存。
7. 引用理解错误!又一次!
List a = new ArrayList<>
//现在要对a进行排序并且不能直接对a进行排序
sort(a){//参数传递过程中,有个赋值过程
List b;//已经排序完成
a = b;
//这个时候a已经有序
}
//这个时候a仍然无序
应该通过 函数返回值的方式 来修改。
8.健壮性
程序中 有太多的地方都需要使用 Null判断。
判读过多,程序很复杂?
判断过少,容易出问题??
if(a != null){
}
9. 硬编码
ResultData.status = 1
最好用枚举类型或常量表示!!!
10.使用FindBugs 可以发现简单的Bug!
11. if-else和swtich不合法情况打印错误日志。
Anychart = null;
if( 1){
...
}else if(2){
...
}else{
LOG.ERROR("Error:函数调用存在错误!参数不正确!");
}
anyachart.invokeMethod();
switch语句类似。
12. Hibernate--Dao 存在大量重复代码--可以优化。
Web开发中,DAO层的很多功能是常见且类似的,建立BaseDao,重用代码。
13. Hibernate sql语句,硬编码
String hql = "select new com.supertool.ProjectUserVO()";
包名一旦发生变化,就会产生若干错误!
大量硬编码的代码 非常难维护!一处改动,处处修改!
14. 调试代码 未及时删除!!!
15. 一个线程下,多个子线程,数据互相干扰!
1个Service下,开了多个线程 去数据库取数据!!!
16. for循环下标问题(一错再错!)
List p;
removeIllegalProject(p){
int size = p.size();
for(int index=0;index<size;index++){
//执行操作
if(Illegal(p)){
//如果不合法,删除这个元素
p.remove(index);
// 这个时候 size就比当前的p.size()要大了
}
}
}
######################################################
for(int index=0;index<p.size();index++){---不再正确,因为index也发生了变化
}
######################################################
//多分配了一点内存
//新建一个List list; 非常正确
把合法的加进去 list.add();
p = list;
######################################################
for(Iterator iterator =p.iterator();iterator.next();){
if(){
iterator.remove();
}
}
根据索引删除,根据对象删除!!!
突然发现 for alt+/ 出现了快速生成代码功能(Eclipse)
(Alt+H 搜索资源,Ctrl+shift+R打开资源文件,for循环代码快速生成)----通过 富有经验的程序员 学来!!!
这些地方 有必要 去主动学习和使用下,提高效率啊!开发利器哈!
17. js定义了一个数组,var chars = {'a','b', ,'c'};
中间多了一个 逗号,导致 去数据时 出现 undefined。
18. 数据库字符串区分大小写。
有可能区分,有可能不区分,不同的数据库可能不一样。
19. setParameter,setParameterList
sql语句使用 in语句时,需要调用setParameterList而不是setParameter。
20. 静态Session有问题
static Session session = FlexContect.getSession();
public Session getFlexSession(){
return session;
}
Session不应该定义为静态的。
相关阅读
工作问题 http://blog.csdn.net/FansUnion/article/category/1334371
分享到:
相关推荐
搜狗+bing(下载日期:2013-11-25)
新版完整标准 IEC 61672-1:2013 电声学 - 声级计第1部分:规格 - 完整英文版(136页.pdf
中国台湾CNS 60335-1:2014 - IEC 60335-1:2013 家用和類似用途電器-安全性-第1 部:通則 - 完整繁体中文电子版(144页).pdf
[ ] eigenbase-properties-1.1.4-javadoc.jar.sha1 06-Dec-2013 18:28 40 [ ] eigenbase-properties-1.1.4-sources.jar 06-Dec-2013 18:28 20K [ ] eigenbase-properties-1.1.4-sources.jar.md5 06-Dec-2013 18:28...
2.2.0-rc1/ 2013-04-18 01:42 - 2.2.1/ 2013-05-04 01:05 - 2.2.2/ 2013-05-27 04:29 - 2.2.3/ 2013-08-23 03:10 - 2.2.4/ 2014-06-11 00:25 - 2.3.0/ 2013-11-14 04:56 - 2.3.0-rc1/ 2013-10-26 02:51 - ...
js 返回当前月一号 例:2013-03-01
总结:2012-2013学年度上学期幼儿园工作总结(1).doc
IEC 61672-1:2013 电声学 - 声级计第1部分:规格 - 完整英文版(136页.pdf
总结:2012-2013学年度上学期幼儿园工作总结.doc
2013年全国各地中考数学试卷分类汇编:矩形-菱形与正方形.doc
中国电子信息制造业产业聚集现状的实证研究:2004-2013年.pdf
//返回当前月最后一天 例:2013-03-31
Networkers2009:BRKBBA-2013 - Synchronization: state of the art, standards options and solutions
2013年高中生物(人教版)同步习题:5-2多聚酶链式反应扩增DNA片段 随堂达标检测(1)含答案.doc
2013-2014学年高中一年级语文(语文版必修1)同步测试:4.12-项脊轩志-Word版含答案].doc
Networkers2009:BRKAPP-2013 - Running Applications on a Cisco Data Center Infrastructure
CVE-2013-6117 $ ./CVE-2013-6117 -hOptions: -h, --help display help information -f, --filename File containing list of IP addresses -t, --target Target IP -n, --threads No of concurrent threads ...
Networkers2009:BRKUCT-2013 - Cisco Unified Communication Manager Express & Cisco Unity Express design update
Publisher: O’Reilly Media (October 2013) Language: English ISBN-10: 1491945575 ISBN-13: 978-1491945575 BOOK DESCRIPTION If you’re getting started with iOS development, or want a firmer grasp of...
upload_DPM:voc-release5在windows8.1+VS2013下matlab