精华内容
下载资源
问答
  • @Transient

    万次阅读 2019-01-14 13:37:55
    @transient 就是在给某个javabean上需要添加个属性,但是这个属性你又不希望给存到数据库中去,仅仅是做个临时变量,用一下。不修改已经存在数据库的数据的数据结构。 那么这个注解就可以一用。...

      java 的transient关键字的作用是需要实现Serilizable接口,将不需要序列化的属性前添加关键字transient,序列化对象的时候,这个属性就不会序列化到指定的目的地中。

    用法

    @transient 就是在给某个javabean上需要添加个属性,但是这个属性你又不希望给存到数据库中去,仅仅是做个临时变量,用一下。不修改已经存在数据库的数据的数据结构。

    那么这个注解就可以一用。

    只要在你准备添加的临时属性上添加这个注解,然后getter和setter自动完成一下,就可以啦。

    @Document(collection = "streams")
    public class Stream implements Serializable,Cloneable {
        private static final long serialVersionUID = 1L;
        @Transient
        private boolean alarmsettingsActive = false;
    xxxxxxxxxxxxx
    xxxxxxxxxxxxxxxxxx
    }
    

    上面的是个人理解,下面呢就是详细说说。

    transient的作用

      我们都知道一个对象只要实现了Serilizable接口,这个对象就可以被序列化,java的这种序列化模式为开发者提供了很多便利,我们可以不必关系具体序列化的过程,只要这个类实现了Serilizable接口,这个类的所有属性和方法都会自动序列化。
      然而在实际开发过程中,我们常常会遇到这样的问题,这个类的有些属性需要序列化,而其他属性不需要被序列化,打个比方,如果一个用户有一些敏感信息(如密码,银行卡号等),为了安全起见,不希望在网络操作(主要涉及到序列化操作,本地序列化缓存也适用)中被传输,这些信息对应的变量就可以加上transient关键字。换句话说,这个字段的生命周期仅存于调用者的内存中而不会写到磁盘里持久化。
      总之,java 的transient关键字为我们提供了便利,你只需要实现Serilizable接口,将不需要序列化的属性前添加关键字transient,序列化对象的时候,这个属性就不会序列化到指定的目的地中。

    transient使用小结

    1)一旦变量被transient修饰,变量将不再是对象持久化的一部分,该变量内容在序列化后无法获得访问。

    2)transient关键字只能修饰变量,而不能修饰方法和类。注意,本地变量是不能被transient关键字修饰的。变量如果是用户自定义类变量,则该类需要实现Serializable接口。

    3)被transient关键字修饰的变量不再能被序列化,一个静态变量不管是否被transient修饰,均不能被序列化。


    作者:fireflies爱人如己
    原文:https://blog.csdn.net/sinat_29581293/article/details/51810805

    展开全文
  • @Transient注释加了以后的字段不会持久化(存到数据库里),使用的时候可以根据Id查询出来set进去,然后就可以在前台显示了;@Override public Pager getPager(PrjLogbookModel prjLogbookModel) { // TODO Auto-...

    @Transient注释加了以后的字段不会持久化(存到数据库里),使用的时候可以根据Id查询出来set进去,然后就可以在前台显示了;

    @Override
        public Pager getPager(PrjLogbookModel prjLogbookModel) {
            // TODO Auto-generated method stub
            List<PrjLogbook> listPrm = new ArrayList<PrjLogbook>();
            List<PrjLogbook> list = new ArrayList<PrjLogbook>();
            Pager pager = prjLogbookDao.getPager(prjLogbookModel);
            listPrm = (List<PrjLogbook>) pager.getData();
            list = setListData(listPrm);
            pager.setData(list);
            return pager;
        }
    
    private List<PrjLogbook> setListData(List<PrjLogbook> listPrm){
        if(listPrm != null && listPrm.size() != 0 ){
            for(int i = 0; i < listPrm.size(); i++){
                User  user = new User();
                user = userService.getUserById(listPrm.get(i).getUserId());
                listPrm.get(i).setUserName(user.getUserName());
                listPrm.get(i).setDepartment(user.getDepartment());
                listPrm.get(i).setPhone(user.getPhone());
                listPrm.get(i).setProjectName(listPrm.get(i).getProject().getProjectName());
                    Integer flagUser = user.getFlagUser();
                    String userType = "";
                    if(flagUser.equals(0)){
                        userType = "正式员工";
                    }
                    if(flagUser.equals(10)){
                        userType = "实习学生";
                    }
                    if(flagUser.equals(20)){
                        userType = "临聘人员";
                    }
                    listPrm.get(i).setUserType(userType);
                }
            }
            return listPrm;
        }
    展开全文
  • @Transient注解用法

    2019-11-14 11:45:23
    @Transient就是不去检查数据库中这个字段·是否存在 今天用到的时候发现报错了 有几个原因 @Transient是 import javax.persistence.Transient;下面的 注意别导错包了 并且 是没有get属性的 但是有一个属性名的方法...

    @Transient就是不去检查数据库中这个字段·是否存在 今天用到的时候发现报错了

    有几个原因

    @Transient是 import javax.persistence.Transient;下面的 注意别导错包了
    并且 get方法上也要加@Transient注解 否则会报错

    
    
    	@Transient
    	private boolean canDelete;
    	
    	@Transient
    	public boolean getCanDelete() {
    		return canDelete;
    	}
    	public void setCanDelete(boolean canDelete) {
    		this.canDelete = canDelete;
    	}
    
    展开全文
  • jpa @Transient

    千次阅读 2017-02-17 15:33:33
    @Transient  可选  @Transient表示该属性并非一个到数据库表的字段的映射,ORM框架将忽略该属性.  如果一个属性并非数据库表的字段映射,就务必将其标示为@Transient,否则,ORM框架默认其注解为@Basic  示例:  //...
    @Transient 
    可选 
    @Transient表示该属性并非一个到数据库表的字段的映射,ORM框架将忽略该属性. 
    如果一个属性并非数据库表的字段映射,就务必将其标示为@Transient,否则,ORM框架默认其注解为@Basic 
    示例: 
    //根据birth计算出age属性 
    @Transient 
    public int getAge() { 
    return getYear(new Date()) - getYear(birth); 

    注意是加在get方法上的

    展开全文
  • @transient 和transient是两码事1.@transient的作用@transient是hibernate和Morphia中的注解,hibernate都熟悉,Morphia是通过同提供一系列围绕mongo java驱动程序的注释和包装程序。hibernate: 实体类中使用了@...
  • @Transient注解

    2019-06-25 12:42:49
    以下两个包都包含@Transient注解 java.beans.Transient; javax.persistence.Transient; 使用@Transient时注意区别二者 转载于:https://www.cnblogs.com/jimmy-c/p/4259966.html
  • @XmlTransient和@Transient

    2019-12-25 09:44:02
    实体类中使用了@Table注解后,想要添加表中不存在的字段,就要使用@Transient这个注解了。使用 @Transient 表示该属性并非是一个要映射到数据库表中的字段,只是起辅助作用.ORM框架将会忽略该属性。注解可以加在属性...
  • @Transient注解理解

    2020-11-20 10:39:56
    @Transient注解理解 java 的@transient关键字的作用是需要实现Serilizable接口,将不需要序列化的属性前添加关键字@transient,序列化对象的时候,这个属性就不会序列化到指定的目的地中。 用法 @Transient 就是在给...
  • @Transient的应用

    2020-10-26 10:16:01
    @Transient的应用 我今天分配的任务是为一个页面Debug,遇到了一个问题查询的实体类在数据库没有对应的表,这时最常用的是建立视图或者表,但是应用@Transient注释可以让你更简单,免除建立表还有视图需要找多表...
  • 1、@Transient @Transient表示该属性并非一个到数据库表的字段的映射,ORM框架将忽略该属性; 如果一个属性并非数据库表的字段映射,就务必将其标示为@Transient,否则ORM框架默认其注解为@Basic; //表示该字段在...
  • 注解@Transient

    2019-10-07 05:53:53
    @Transient表示该属性并非一个到数据库表的字段的映射,ORM框架将忽略该属性.如果一个属性并非数据库表的字段映射,就务必将其标示为@Transient,否则,ORM框架默认其注解为@Basic 转载于:...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 1,214
精华内容 485
热门标签
关键字:

@transient