• AnnotationSessionFactoryBean和LocalSessionFactoryBean的区别


    这两种SessionFactoryBean是配置hibernate配置实体及字段与表的映射时的两种不同方法。他们的使用与否在applicationContext.xml中配置,具体配置偷笑快去学习吧!

    一、annotation是注释、注解 的意思,在hibernate配置实体及字段与表的映射时,annotationSessionFactoryBean提供一种注解的方式来映射,它可以依赖@注解通过实体类生成表(包括字段、主键···)。这种方法是spring2.5以后才有的。利用注解的简单例子如下:

     

    1. <SPAN style="FONT-SIZE: 12px">package cn.com.back.admin;  
    2.   
    3. import java.util.Date;  
    4. import javax.persistence.Column;  
    5. import javax.persistence.Entity;  
    6. import javax.persistence.GeneratedValue;  
    7. import javax.persistence.Id;  
    8. import javax.persistence.Table;  
    9.   
    10.   
    11. @Table(name="t_AdminInfo")  
    12. @Entity  
    13. public class Admin {  
    14.     private int adminId = 0;//管理员Id   
    15.     private String adminUserName="";//管理员登录账户   
    16.     private String adminPassword="";//密码   
    17.     private String adminRealName="";//管理员姓名   
    18.     private String adminSex="";//性别   
    19.     private String adminDepart="";//管理员部门   
    20. //     
    21.     private String passwordAsk="";//密码提示   
    22.     private String passwordAnswer="";//密码回答   
    23.     private String adminEmail="";//邮箱   
    24.     private String adminNote="";//备注   
    25.     private Date   adminAddDay;  
    26.   
    27.   
    28.     ///  ******************************************************    
    29.     @Id  
    30.     @GeneratedValue  
    31.       
    32.      @Column(name="AdminId")        //****************@Column(name="")   
    33.     public int getAdminId() {  
    34.         return adminId;  
    35.     }  
    36.     public void setAdminId(int adminId) {  
    37.         this.adminId = adminId;  
    38.     }  
    39.     @Column(name="AdminUserName")  //****************@Column(name="")   
    40.     public String getAdminUserName() {  
    41.         return adminUserName;  
    42.     }  
    43.     public void setAdminUserName(String adminUserName) {  
    44.         this.adminUserName = adminUserName;  
    45.     }</SPAN>  
    package cn.com.back.admin;
    
    import java.util.Date;
    import javax.persistence.Column;
    import javax.persistence.Entity;
    import javax.persistence.GeneratedValue;
    import javax.persistence.Id;
    import javax.persistence.Table;
    
    
    @Table(name="t_AdminInfo")
    @Entity
    public class Admin {
    	private int adminId = 0;//管理员Id
    	private String adminUserName="";//管理员登录账户
    	private String adminPassword="";//密码
    	private String adminRealName="";//管理员姓名
    	private String adminSex="";//性别
    	private String adminDepart="";//管理员部门
    //	
    	private String passwordAsk="";//密码提示
    	private String passwordAnswer="";//密码回答
    	private String adminEmail="";//邮箱
    	private String adminNote="";//备注
    	private Date   adminAddDay;
    
    
    	///  ******************************************************	
    	@Id
    	@GeneratedValue
    	
    	 @Column(name="AdminId")    	//****************@Column(name="")
    	public int getAdminId() {
    		return adminId;
    	}
    	public void setAdminId(int adminId) {
    		this.adminId = adminId;
    	}
    	@Column(name="AdminUserName")  //****************@Column(name="")
    	public String getAdminUserName() {
    		return adminUserName;
    	}
    	public void setAdminUserName(String adminUserName) {
    		this.adminUserName = adminUserName;
    	}

    注:@Entity  、@Table(name=“····”)  这些以@开头的就是注解,他们需要引入相应的类、包,如import javax.persistence.Entity;

          @Column(name="***")的注解用在字段的get方法上。另外还有很多@注解,如@ManyToOne   @JoinColumn(name="****")等等,加强学习哦!!

    二、LocalSessionFactoryBean

    LocalSessionFactoryBean,在applicationContext.xml中配置之后,需要另外一个***.hbm.xml的配置文件对实体和表的具体映射进行配置。这里只说个大概,具体的配置,需要那种配置,自己再看看吧!微笑

    貌似Spring2.5后的class一般的都用AnnotationSessionFactoryBean。

  • 相关阅读:
    Feign性能优化注意事项--超时
    Android MVP+Retrofit+dagger2+RxAndroid框架整合
    Android adb命令,linux中各种命令
    【视频音频】雷霄骅开源视音频项目汇总
    Android LitePal介绍与使用说明
    AndroidStudio第一次提交项目代码到git服务器/github
    Android框架之路——Fragmentation的使用(流式交互Demo)
    Android Studio 升级到3.0后出现编译错误.gradlecaches ransforms-1files-1.1*****-release.aar
    Android Studio你必须学会的快捷键(Eclipse转AS必看)
    Intellij IDEA常用配置详解
  • 原文地址:https://www.cnblogs.com/kentyouyou/p/3149067.html
Copyright © 2020-2023  润新知