我对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.aNumberFl = var;
}
一切都很好,除了hibernate内部认为我的属性名称是ANumberFl而不是aNumberFl。 JavaBean约定检查属性getter的前两个字符(在get之后),如果它们都是大写字母,并且没有uncapatilise来获取属性名称。但是这与我的字段名称不一致,后者具有小写字母。这在JavaBean世界中是允许的,但是具有名为aNumberFl
OR ANumberFl
的字段将产生相同的getter名称。这意味着当get方法是源时,它必须选择另一个方法,然后选择后者。
我尝试将注释移到了现场,但这引起了其他我现在不会涉及的问题,而且我不确定这是个好主意。
是否有覆盖默认属性名称的hibernate从getter方法名称推断?
感谢。
答案 0 :(得分:1)
我建议重命名该属性并给它一个更有意义的名称
a
- 如果是“A-Number”,并且您有一个“B-Number”,请将该属性设为大写 - 丑陋,但可能有效。Fl
没有任何意义 - 扩展该缩写,一切都会好的。