Hibernate 高级开发思想点评
在介始Hibernate 之前我们来讨论一下OOD 思想
?
写这篇文章的目的是希望各位兄弟姐妹们不要犯同样的错误
?
1. ?明白一个重点hibernate 从 创立 到现在以有10多年的风雨, 那么他的核心是什么呢?
2. 到后来hibernate 从单纯的ORM 应用framework 到现在,发展到一级缓存、二级缓存
3. 从单体事务到支持分布式管理事务(support? JTA )
?
QBC 语言 时间查询高级应用与JDBC 查询时间比较
?
package context; import java.text.ParseException; import java.text.SimpleDateFormat; import java.util.Collection; import org.springframework.context.ApplicationContext; import org.springframework.context.support.ClassPathXmlApplicationContext; import com.liuqing.website.dao.IProductInfoDao; import com.liuqing.website.entity.ProductInfo; public class Test { public static void main(String[] args) throws Exception { ApplicationContext ap = getCtx(); IProductInfoDao productInfo = (IProductInfoDao)ap.getBean("productInfoDao"); SimpleDateFormat simp = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); //Node: 这里传入的值是Date Object //不要和纯SQL 语名混合使用 Collection<ProductInfo> productInfoes = productInfo.queryCollection("onDatetime", "2010-12-15 10:00:23","2010-12-15 23:23:23"); for (ProductInfo en:productInfoes) { System.out.println("id:" + en.getId() +" name:"+ en.getName()); } } public static ApplicationContext getCtx() { return new ClassPathXmlApplicationContext("classpath:/context/applicationContext-*.xml"); } }
?
?
总之: 当hibernate 查询不管是使用hql 语名还是QBC 查询语言时如果出现 org.hibernate.type.* 类的异常错误正常情况下是因为在做查询时输入的类型 不是对象类型,这样就背离了OOD 设计思想。 在使用Hibernate 之时长犯的错误(因为中国人一般思维是过程化,结构化去思考问题)
?
?
?
?
?
?
?