Hibernate3.5注解笔记

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

1)关于Hibernate 原XML中的 compose-id (复合主键)用注解配置
有几种方法:
  第一种:直接在对应的复合主键上添加@Id
@Entity
public class Employee
{
@Id String empName;
@Id Date birthDay;

  第二种:使用@IdClass注解
public class EmployeePK implements Serializable
{
   private String empName;
   private Date birthDay;
   。。。。

@IdClass(EmployeePK.class)
@Entity
public class Employee
{
@Id String empName;
@Id Date birthDay;

  第三种:嵌入式的
@Embeddable
public class EmployeePK implements Serializable
{
   @Column
   private String empName;
   @Column
   private Date birthDay;
   。。。。

@Entity
public class Employee
{
@Id EmployeePK emp;


2)关于Hibernate的注解的包不能自动扫描的问题
这个问题需升级Spring到2.5.6,里面的AnnotationSessionFactoryBean带了一个属性:packagesToScan

<bean id="sessionFactory"        class="org.springframework.orm.hibernate3.annotation.AnnotationSessionFactoryBean">
        <property name="dataSource">
            <ref local="euroSportDataSource" />
        </property>
       
        <property name="packagesToScan">
        <list>
        <value>com.yourcompany.security.obj</value>
        <value>com.yourcompany.obj</value>
        </list>
        </property>


3)关于Hibernate的POJO类存在继承的情况
@MappedSuperclass
public abstract class AbstractCmsDto{}

@Entity
@Table(name="S_RESC")
public class SecRes extends AbstractCmsDto{}

如上这样,在基类中添加 @MappedSuperclass注解,并将基类中的字段进行相应的注解。
当然,在子类中可以改写基类中的定义。

你可能感兴趣的:(spring,xml,Hibernate,Security,嵌入式)