`
lvjinhua
  • 浏览: 9809 次
  • 性别: Icon_minigender_1
  • 来自: 北京
文章分类
社区版块
存档分类
最新评论

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注解,并将基类中的字段进行相应的注解。
当然,在子类中可以改写基类中的定义。

0
0
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics