Hibernate3.5注解笔记

记录几个今天配置Hibernate3.5注解时的问题。

1)关于Hibernate原XML中的compose-id(复合主键)用注解配置

有几种方法:

第一种:直接在对应的复合主键上添加@Id

@Entity

publicclassEmployee

{

@IdStringempName;

@IdDatebirthDay;

第二种:使用@IdClass注解

publicclassEmployeePKimplementsSerializable

{

privateStringempName;

privateDatebirthDay;

。。。。

@IdClass(EmployeePK.class)

@Entity

publicclassEmployee

{

@IdStringempName;

@IdDatebirthDay;

第三种:嵌入式的

@Embeddable

publicclassEmployeePKimplementsSerializable

{

@Column

privateStringempName;

@Column

privateDatebirthDay;

。。。。

@Entity

publicclassEmployee

{

@IdEmployeePKemp;

2)关于Hibernate的注解的包不能自动扫描的问题

这个问题需升级Spring到2.5.6,里面的AnnotationSessionFactoryBean带了一个属性:packagesToScan

<beanid="sessionFactory"class="org.springframework.orm.hibernate3.annotation.AnnotationSessionFactoryBean">

<propertyname="dataSource">

<reflocal="euroSportDataSource"/>

</property>

<propertyname="packagesToScan">

<list>

<value>com.yourcompany.security.obj</value>

<value>com.yourcompany.obj</value>

</list>

</property>

3)关于Hibernate的POJO类存在继承的情况

@MappedSuperclass

publicabstractclassAbstractCmsDto{}

@Entity

@Table(name="S_RESC")

publicclassSecResextendsAbstractCmsDto{}

如上这样,在基类中添加@MappedSuperclass注解,并将基类中的字段进行相应的注解。

当然,在子类中可以改写基类中的定义。

相关推荐