0

我对 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;
}

一切都很好,除了休眠内部认为我的属性名称是 ANumberFl 而不是 aNumberFl。JavaBean 约定检查属性 getter 的前两个字符(在 get 之后)以及它们是否都是大写字母并且不会取消获取属性名称的能力。但是,这与我的小写字段名称不一致。这在 JavaBean 世界中都是允许的,但是有一个名为aNumberFlOR的字段ANumberFl会产生相同的 getter 名称。这意味着当 get 方法是源时,它必须选择另一个,并选择后者。

我尝试将注释移到该字段上,但这导致了我现在不会讨论的其他问题,并且不确定这是一个好主意。

是否有覆盖hibernate从getter方法名称推断的默认属性名称?

谢谢。

4

1 回答 1

1

我会建议重命名该属性并给它一个更有意义的名称

  • 删除a- 如果它是“A-Number”,并且你有一个“B-Number”,请将属性设为大写 ​​- 丑陋,但可能会起作用。
  • Fl没有任何意义 - 扩展该缩写,一切都会好起来的。
于 2010-07-05T13:00:37.423 回答