Java 声明未与列映射的hibernate POJO布尔属性

Java 声明未与列映射的hibernate POJO布尔属性,java,hibernate,struts2,Java,Hibernate,Struts2,在候选POJO中,我有布尔属性“isNewCandidate” 那么,在POJO中声明变量以便struts能够访问它的最佳方法是什么呢 <s:property value="candidate.isNewCandidate"/> 所以我把房子公之于众,我可以访问它。但是我是否应该将属性公开,或者是否有一种最好的方法可以让属性私有,并像普通数据库列映射属性那样拥有getter和setter属性?属性必须是Struts或UI访问它的公共属性。所以另一个答案是不正确的 如果可以从候选

在候选POJO中,我有布尔属性“isNewCandidate”

那么,在POJO中声明变量以便struts能够访问它的最佳方法是什么呢

<s:property value="candidate.isNewCandidate"/>


所以我把房子公之于众,我可以访问它。但是我是否应该将属性公开,或者是否有一种最好的方法可以让属性私有,并像普通数据库列映射属性那样拥有getter和setter属性?

属性必须是Struts或UI访问它的公共属性。所以另一个答案是不正确的

如果可以从候选对象中找出它(例如,如果ID为非零),则可以将其设置为只读属性

但是,最好在控制器中找到它&只在视图中设置它(即,将其设置为请求属性),而不是将其添加到bean中。JSP可以从请求属性读取和呈现

根本不在bean中包含它,这可能是更好的封装方式。。“新建”与“现有”是编辑表单和页面中需要了解的常见要求,实际上是编辑表单中生命周期的属性,而不是特定的bean类型。在创建/编辑页面之外,这是无关紧要的


长话短说:在“基本EditForm控制器”中实现一次,而不是在每个实体类中单独实现一次。

另外,一个公共getter getIsNewCandidate也可以,这样我就可以将属性设置为privateYep,您可以设置一个
public
getter并使字段
受保护
私有
。。我总是喜欢受保护的,因为它更易于工程和调试。