如题。
我想映射实体中的某些字段只是业务上需要,并不需要存进数据库。如下@Entity
@Table(name = "User")
public class User implements Serializable {
private static final long serialVersionUID = 4162702284465224607L; /* fields */
@Id
@GeneratedValue(generator = "system-uuid")
@GenericGenerator(name = "system-uuid", strategy = "uuid")
private String userId;// 用户ID
private String userCode;// 用户编号
private String username;// 登录名称
private String password;// 登录密码
         // 以上的属性在数据库中有相应字段
         // 下面的属性在数据库无对应字段,即这些属性不需要存数据库
         private String operationPwd;// 操作某些项时使用的密码,与password不同,需用户在页面上动态输入
}

解决方案 »

  1.   

    当然可以,只要楼主在xxx.hbm.xml中不指定该变量对应的字段,hibernate会无视他。
      

  2.   

    我现在是使用注解方式,没有xxx.hbm.xml文件,可以做到不?
      

  3.   

    当然可以做到。同为hibrtnate三种配置方式中的一种,没有理由说配置文件能行,注解就不能行的。
      

  4.   

    OK,自己搞定,在字段上加@Transient就行了@Entity 
    @Table(name = "User") 
    public class User implements Serializable { 
           private static final long serialVersionUID = 4162702284465224607L;        /* fields */ 
           @Id 
           @GeneratedValue(generator = "system-uuid") 
           @GenericGenerator(name = "system-uuid", strategy = "uuid") 
           private String userId;// 用户ID 
           private String userCode;// 用户编号 
            private String username;// 登录名称 
            private String password;// 登录密码 
            // 以上的属性在数据库中有相应字段 
            // 下面的属性在数据库无对应字段,即这些属性不需要存数据库 
            @Transient
            private String operationPwd;// 操作某些项时使用的密码,与password不同,需用户在页面上动态输入