文档章节

Hibernate 中Lazy 属性字段需要在类编译后用Instrument对字节处理 才能生效

小骏骏
 小骏骏
发布于 2014/04/03 17:36
字数 176
阅读 128
收藏 4

 1. 一种是利用cglib

<plugin>
    <artifactId>maven-antrun-plugin</artifactId>
    <executions>
        <execution>
            <id>Instrument domain classes</id>
            <configuration>
                <tasks>
                    <taskdef name="instrument"
                             classname="org.hibernate.tool.instrument.cglib.InstrumentTask">
                        <classpath>
                            <path refid="maven.dependency.classpath"/>
                            <path refid="maven.plugin.classpath"/>
                        </classpath>
                    </taskdef>
                    <instrument verbose="true">
                        <fileset dir="${project.build.outputDirectory}">
                            <include name="**/model/*.class"/>
                        </fileset>
                    </instrument>
                </tasks>
            </configuration>
            <phase>process-classes</phase>
            <goals>
                <goal>run</goal>
            </goals>
        </execution>
    </executions>
    <dependencies>
        <dependency>
            <groupId>org.hibernate</groupId>
            <artifactId>hibernate</artifactId>
            <version>3.2.6.ga</version>
        </dependency>
    </dependencies>
</plugin>

2. 利用javasist

      <!-- For hibernate mapping lazy columns -->
 		  <plugin>
	          <artifactId>maven-antrun-plugin</artifactId>
			  <executions> 
			    <execution> 
			     <phase>process-classes</phase>  
		          <configuration>
		          <tasks>
		          	<echo>Byte instrument: ${project.build.outputDirectory}</echo>
		            <taskdef name="instrument" classname="org.hibernate.tool.instrument.javassist.InstrumentTask">
		              <classpath>
		                 <path refid="maven.dependency.classpath"/>
		              </classpath>
		            </taskdef>
		            
		            <instrument verbose="true">
		              <fileset dir="${project.build.outputDirectory}">
		                <include name="jp/co/yamaha_motor/dashboard/common/entity/*.class" />
		              </fileset>
		            </instrument>
		          </tasks>
		          </configuration>
			      <goals> 
			        <goal>run</goal> 
			      </goals> 
			    </execution> 
			  </executions> 		          
          </plugin>


参考:hibernate byte instrument

© 著作权归作者所有

小骏骏
粉丝 8
博文 111
码字总数 22428
作品 0
厦门
高级程序员
私信 提问
Hibernate学习3--Hibernte的映射关系(基础概念篇)

前两节我们分别从Hibernate的demo和Hibernate的概念上熟悉了Hibernate的使用,这一节我们来了解Hibernate中的映射关系 首先我们了解下Hibernate映射文件中的各种标签的用法 1<hibernate-mapp...

王小明123
2014/04/14
367
0
hibernate 如何实现延迟加载

延迟加载: 延迟加载机制是为了避免一些无谓的性能开销而提出来的,所谓延迟加载就是当在真正需要数据的时候,才真正执行数据加载操作。在Hibernate中提供了 对实体对象的延迟加载以及对集合...

bowl154
2010/12/17
149
2
Hibernate延迟加载机制

延迟加载机制是为了避免一些无谓的性能开销而提出来的,所谓延迟加载就是当在真正需要数据的时候,才真正执行数据加载操作。在Hibernate中提供了对实体对象的延迟加载以及对集合的延迟加载,...

swuping
2011/03/14
153
0
什么是hibernate懒加载?什么时候用懒加载?为什么要用懒加载?

所谓懒加载(lazy)就是延时加载,延迟加载。 什么时候用懒加载呢,我只能回答要用懒加载的时候就用懒加载。 至于为什么要用懒加载呢,就是当我们要访问的数据量过大时,明显用缓存不太合适, ...

widely
2013/09/09
568
1
[Hibernate]一对多和多对一中各个参数的说明

many-to-one节点有以下属性(摘自Hibernate文档): 序号 属性 说明 1 name 属性名 2 column (可选): 外间字段名。它也可以通过嵌套的 <column> 元素指定。 3 class (可选 - 默认是通过反射得...

彪大大
2016/01/22
65
0

没有更多内容

加载失败,请刷新页面

加载更多

OSChina 周一乱弹 —— 后来马云就一心想挣钱了

Osc乱弹歌单(2019)请戳(这里) 【今日歌曲】 小小编辑:《空帆船》- 朴树 《空帆船》- 朴树 手机党少年们想听歌,请使劲儿戳(这里) @webw :第二次被锁在电梯里了 上次你忘带电梯卡, ...

小小编辑
32分钟前
154
6
关于does not give a valid preprocessing token

#define VFUNC(self) ((##self##)->_vptr) 这样在gcc下会编译失败, VC不会 报pasting ) does not give a valid preprocessing token 据说是因为版本问题 解法:去掉## define VFUNC(self) (......

shzwork
33分钟前
2
0
CSS盒子模型

一、什么叫框模型 页面元素皆为框(盒子) 定义了元素框处理元素内容,内边距,外边距以及边框的计算方式 二、外边距 围绕在元素边框外的空白距离(元素与元素之间的距离) 语法:margin,定...

wytao1995
今天
5
0
Replugin借助“UI进程”来快速释放Dex

public static boolean preload(PluginInfo pi) { if (pi == null) { return false; } // 借助“UI进程”来快速释放Dex(见PluginFastInstallProviderProxy的说明) return PluginFastInsta......

Gemini-Lin
今天
4
0
Hibernate 5 的模块/包(modules/artifacts)

Hibernate 的功能被拆分成一系列的模块/包(modules/artifacts),其目的是为了对依赖进行独立(模块化)。 模块名称 说明 hibernate-core 这个是 Hibernate 的主要(main (core))模块。定义...

honeymoose
今天
4
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部