Java Hibernate属性名称资本化问题
我对hibernate/JavaBeans如何构造属性名存在问题 这是我的财产Java Hibernate属性名称资本化问题,java,hibernate,properties,javabeans,capitalization,Java,Hibernate,Properties,Javabeans,Capitalization,我对hibernate/JavaBeans如何构造属性名存在问题 这是我的财产 private boolean aNumberFl; @Column( name = "aNumberFl", nullable = false ) @Type( type = "yes_no" ) public boolean getANumberFl() { return aNumberFl; } public void setANumberFl( boolean var ) { this.a
private boolean aNumberFl;
@Column( name = "aNumberFl", nullable = false )
@Type( type = "yes_no" )
public boolean getANumberFl()
{
return aNumberFl;
}
public void setANumberFl( boolean var )
{
this.aNumberFl = var;
}
除了hibernate内部认为我的属性名是ANumberFl而不是ANumberFl之外,一切都很好。JavaBean约定检查属性getter的前两个字符(在get之后),以及它们是否都是大写字母并且没有取消对属性名称的兴趣。但是,这与我的字段名不一致,该字段名的大小写为小写。这在JavaBean世界中是允许的,但是如果有一个名为aNumberFl
或aNumberFl
的字段,则会产生相同的getter名称。这意味着当get方法是源时,它必须从另一个方法中选择一个,并选择后者
我尝试将注释移动到字段上,但这导致了其他问题,我现在不想讨论这些问题,我也不确定这是否是一个好主意
是否有覆盖hibernate从getter方法名推断出的默认属性名的方法
谢谢。我会建议重命名该属性,并给它一个更有意义的名称
- 删除
-如果它是“a-Number”,并且您有一个“B-Number”,则使属性大写-难看,但可能有效a
没有任何意义-扩展缩写,一切都会好起来Fl