- 用HibernateDaoSupport类的getSession方法取得Session进行数据库操作后,可以不用关闭Session。
- 当要使用延迟抓取功能时,用Session类的get方法来得到对象,且不要关闭Session。这样得到的对象是持久对象,上层使用时一定不要更改其属性的值,除非你真的想更改其属性的值且持久化。
- 利用Hibernate的Native SQL查询来直接执行Sql语句,不要使用jdbc了。
- 有HQL或Sql语句出现时,应将这些语句封装成DAO中的方法,供外部使用。
- 在hbm.xml文件中设置实体的BatchSize后,在同一个Session中更新对象时,就会批量处理,可以提高性能。
- 在jsp页面中,用<fmt:formatDate>标签来格式化日期,用<fmt:formatNumber>标签来格式化数字。
- 在hbm.xml文件中设置的inverse属性,是用指来指明这一端是否有责任维护关联关系。inverse=false,表明有责任维护关系,inverse=true,表明没有责任维护关系。在父与子的关联中,将子的inverse设成true。
- 在hbm.xml文件中设置的cascade属性,用来控制级联创建、更新或删除。
- 在hbm.xml文件、父子关联中,一般在父的一端设置cascade=all。
- 在hbm.xml文件中映射枚举字段。
public InLineState getInLineState() {
return inLineState;
}
public void setInLineState(InLineState inLineState) {
this.inLineState = inLineState;
this._inLineStateValue=inLineState.value;
}
public int get_inLineStateValue() {
return _inLineStateValue;
}
public void set_inLineStateValue(int _inLineStateValue) {
this._inLineStateValue = _inLineStateValue;
this.inLineState=Constants.InLineStateParse(_inLineStateValue);
}
<property name="_inLineStateValue"> <column name="inLineStateValue" /> </property>