首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 其他教程 > 开源软件 >

Hibernate配备联合主键(内部类实现主键)

2012-07-08 
Hibernate配置联合主键(内部类实现主键)public class A{private A.id idprivate String barpublic stati

Hibernate配置联合主键(内部类实现主键)

public class A{   private A.id id;   private String bar;   public static class Id{      private String a;      private String b;     //重写eqauls和hashcode方法     //getter,setter  }   //getter,setter}

? ?映射文件:

??<hibernate-mapping package="org.xx.yyy.zzzz">

<!--Depends on Hibernate configuration with hibernate.hbm2ddl.auto=update.--><class name="A" table="TA">    <composite-id name="id" type="string">                <column name="a" />            </key-property>            <key-property name="b" type="string">                <column name="b" />            </key-property>        </composite-id> <property name="bar" column="bar" type="text"  not-null="false" /> </class>

? ?注意Java类中,Id类必须是静态类,否则会报No default constructor for entity的错误。

? ?注意配置文件中,配置联合主键的class中间要用$符号。

?

? ?关于静态内部类,其相当于写在Java文件中的普通类。可参考以下文字:

??http://java.sun.com/docs/books/jls/third_edition/html/classes.html#8.1.3

https://forum.hibernate.org/viewtopic.php?f=1&t=973414&view=previous

?写道Check out this section of the Java language spec that explains the difference between static and non-static inner classes:
http://java.sun.com/docs/books/jls/third_edition/html/classes.html#8.1.3

A static inner class is conceptually no different than a regular general class declared in a .java file.?

热点排行