在Spring Hibernate中调用@Transient方法

vik*_*s27 3 java spring hibernate spring-mvc

我有一个Pojo类,我在其中创建一个未与DataBase Table映射的字段.所以我必须声明字段声明和setter和getter方法@Transient,否则它会显示错误.

@Transient
private String docHistoryString="";

@Transient
public String getDocHistoryString() {
    return docHistoryString;
}

@Transient
public void setDocHistoryString(String docHistoryString) {
    this.docHistoryString = docHistoryString;
}
Run Code Online (Sandbox Code Playgroud)

现在,我的问题在于控制器.我在这个瞬态字段中设置了一些值,但是当我尝试使用EL在视图(JSP)中访问此变量时,它没有给出值.我认为这是因为我在get方法中使用了@transient注释.

Ale*_*man 6

所有Hibernate注释,包括@Transient必须根据访问类型应用.默认情况下,它将与@Id应用的方式相同.也就是说,如果您放置@Id在某个字段上,则必须应用于@Transient该字段.如果您申请@Idgetter方法,则必须应用@Transient方法.始终忽略Setter方法.

它可以自定义(按文档),因此请确保某人没有对访问类型做一些奇怪的事情.