`
zhchx0827
  • 浏览: 191779 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

hibernate杂谈

阅读更多
1:session.save()方法(逐渐自增长)
   一直以为与数据库交互了一次,就是在session清缓存的时候。配置了show_sql属性才发现,在执行insert语句之前还有select max(id)操作,也就是说,save操作实际上与数据库交互了两次

2:hibernate并不要求持久化类必须实现Serializable接口,但是对于采用RMI和JavaEE分布式结构的java应用,当java对象在不同的进程借点之间传输时,这个对象所属的类必须实现Serializable接口,在Java Web应用中,如果希望对HttpSession中存放Java对象进行持久化,那么这个Java对象所属的类也不许实现这个接口(个人感觉,不管是否有必要,实体类都基础该接口,比较对系统没什么影响)

3:Hibernate要求持久化类必须提供一个不带参数的默认构造方法,因为在程序运行时,Hibernate会运用Java反射,调用java.lang.reflect.Constructor.newInstance()方法构造持久化类

4:hibernate使用的DTD文件在roject\core\src\main\resource\org\hibernate目录下,描述了每个节点可以配置那些熟悉

5:java类型,hibernate类型和sql类型的对应关系
java类        hibernate        sql(根据具体数据库略有不同,一下针对MYSQL)
String      String            varchar
int         Int               INT
char        Character         char
boolean     Boolean           bit
String      Text              TEXT
byte[]      Binary            BLOB
Date        Date              DATE


5:保存图像的字段配置
<property name="image" column="IMAGE" type="binary"/>
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics