分类: Hibernate预览模式: 普通 | 列表
08-07
02

彻底明白Hibernate中的Inverse

以前写HBM,用一对多或多对多的时候默认总是加上“inverse=true”。当时想法很简单就是由双方来维护之间的关联关系。今天才终于明白inverse的真正含义了!

其实inverse不复杂,但是要真正明白还是要稍微看一下源码。inverse的真正作用就是指定由哪一方来维护之间的关联关系。当一方中指定了“inverse=false”(默认),那么那一方就有责任负责之间的关联关系,说白了就是hibernate如何生成Sql来维护关联的记录!举个最简单的一对多父子关系。那么代码就写成:

父亲中的关系映射
{set name="children" lazy="true" inverse="true"}
      {key column="parent_id"/}
      {one-to-many class="test.Child"/}

查看更多...

Tags: inverse 一对多

分类:Hibernate | 固定链接 | 评论: 0 | 引用: 0 | 查看次数: 519
08-06
30

boolean类型生成tinyint字段

<property name="admin" column="admin" type="java.lang.Byte"  length="1">
</property>

加入type=="java.lang.Byte"即可

查看更多...

Tags: boolean tinyint

分类:Hibernate | 固定链接 | 评论: 0 | 引用: 0 | 查看次数: 580
org.hibernate.MappingException: An association from the table blur_article refers to an unmapped class: bl.site.myHibernate.po.person.Admin


仔细看,这个错误是如此的简单

Tags: mapping Exception

分类:Hibernate | 固定链接 | 评论: 0 | 引用: 0 | 查看次数: 1304
08-06
27

事出必有因:occurred while calling setter of ..

   为了这个问题,迷茫了半天:怎么看set()/get()也没问题,因为我用的是boolean属性,很容易在自动生成时出错,但这次没有.检查hbm表,发现这句:type="java.lang.Byte",当初我为了把表字段建立成tinyint型而设置的,去掉即可!

查看更多...

Tags: setter

分类:Hibernate | 固定链接 | 评论: 0 | 引用: 0 | 查看次数: 1502
08-06
27

Transaction not successfully started解决

Hibernate升级到3以后,我发现原有的HibernateException异常被Hibernate自动处理了,于是把try/catch/finally去掉,结果就出了这么个异常,原因很简单,看代码:

catch块中的代码应该是:
if (tx!=null) {
tx.rollback();
}
throw e;


否则通不过编译!应为抛出了异常后不能再有其它语句.

查看更多...

Tags: Transaction started hibernate3

分类:Hibernate | 固定链接 | 评论: 1 | 引用: 0 | 查看次数: 1771
08-06
23

Hibernate学习笔记

   前段时间,学习了一下Hibernate,在这里推荐一本很容易上手的书<<夏昕.深入浅出Hibernate>>,这本书虽然我只看了前两章,但至少,一开始,我是根据这两章的介绍开始入手的.
一.学习之前的准备
1.安装ant
    ant我老早前就装过了,好像也不难,网上资料也特别多.关键是最后环境变量的设置,设个ANT_HOME=ANT的安装目录,我的机器填的是"d:\ant1.6.1",再把"d:\ant1.6.1\bin"加到path里.
2.下载hibernate
    到官方网站去下载.
3.下载Middlegen-Hibernate-r5
    也到官方网站上去下载
4.下载hibernate-extensions

查看更多...

Tags: hibernate

分类:Hibernate | 固定链接 | 评论: 0 | 引用: 0 | 查看次数: 652