@Transient注释对方法意味着什么?

sta*_*lus 8 annotations jpa transient java-ee

所以我已经了解到transientJava 中的关键字意味着实体不会持久存在,并且@TransientJPA 中的注释意味着不会将字段持久保存到数据库中.但是,当@Transient应用于方法而不是变量时,它意味着什么?

这是我在代码中找到它的地方:

@Transient
public boolean getTabFoo() {
    if ((this.viewFoo1 != ACCESS_NONE)
            || (this.viewFoo2 != ACCESS_NONE) || (this.viewFoo3 != ACCESS_NONE)
            || (this.getViewFoo4() != ACCESS_NONE)) {
        return true;
    }
    return false;
}
Run Code Online (Sandbox Code Playgroud)

axt*_*avt 7

所有字段级JPA注释都可以放在字段或属性上,它确定实体的访问类型(即JPA提供者如何直接访问该实体的字段或使用getter/setter).

默认访问类型由@Id注释的放置确定,并且它应该对实体的所有字段(或继承实体的hiererchy)保持一致,除非@Access对某些字段明确覆盖.

因此,@Transientgetter与@Transient字段具有相同的含义- 如果您的实体的默认访问类型是属性访问,则需要注释所有与持久属性不对应的getter @Transient.