Hibernate 数组的属性配置

来源:互联网 发布:时期数据和时点数据 编辑:程序博客网 时间:2024/06/13 09:28

数组的配置与 List 没多少区别 ,包 Person.hbm.xml 中的 <List> 改成 <array></array> 就可以了

代码如下:


<!-- 映射数组属性 --><array name="addrs" table="addr_inf"><!-- 映射属性集合表的外键列  --><key column="preson_id" not-null="true"></key><!-- 映射集合属性的集合索引列 --><list-index column="list_order"></list-index><element type="string" column="addr_inf"></element></array>

在配置数组时候刚开始遇到一个问题:为

Caused by: org.hibernate.HibernateException: Unable to instantiate default tuplizer [org.hibernate.tuple.entity.PojoEntityTuplizer]

为不能够实例化默认的 tuplizer

网上有的说: 是缺少 javassist.jar 包,缺少这个包也会报这个错误.这个包的具体作用如下:(网上抄的)

Javassist (Java Programming Assistant) makes Java bytecode manipulation simple. It is a class library for editing bytecodes in Java; it enables Java programs to define a new class at runtime and to modify a class file when the JVM loads it. Unlike other similar bytecode editors, Javassist provides two levels of API: source level and bytecode level. If the users use the source-level API, they can edit a class file without knowledge of the specifications of the Java bytecode. The whole API is designed with only the vocabulary of the Java language. You can even specify inserted bytecode in the form of source text; Javassist compiles it on the fly. On the other hand, the bytecode-level API allows the users to directly edit a class file as other editors.

Aspect Oriented Programming: Javassist can be a good tool for adding new methods into a class and for inserting before/after/around advice at the both caller and callee sides.

Reflection: One of applications of Javassist is runtime reflection; Javassist enables Java programs to use a metaobject that controls method calls on base-level objects. No specialized compiler or virtual machine are needed.

简单的说,javassist是用来操作字节码的


结果发现是自己在 部署文件中写的时候 name=" "  与  PO 类中的属性不相符照成的。哎……,细心啊。


原创粉丝点击