在Spring Hibernate中调用@Transient方法

时间:2011-11-04 16:47:39

标签: 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;
}

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

2 个答案:

答案 0 :(得分:6)

必须根据access type应用所有Hibernate注释,包括@Transient。默认情况下,它与应用@Id的方式相同。也就是说,如果您在字段上放置@Id,则必须将@Transient应用于该字段。如果您将@Id应用于getter方法,则必须应用@Transient方法。始终忽略Setter方法。

虽然可以自定义(根据文档),但请确保某人没有对访问类型做一些奇怪的事情。

答案 1 :(得分:1)

根据这个,声明字段/属性

就足够了

http://download.oracle.com/javaee/5/api/javax/persistence/Transient.html

您是否尝试过仅注释字段/属性?要获得进一步的帮助,您必须发布更多代码段。