gpt4 book ai didi

java - Hibernate属性名称大写问题

转载 作者:行者123 更新时间:2023-12-01 16:03:36 25 4
gpt4 key购买 nike

我对 hibernate/JavaBeans 如何构造属性名称有疑问。

这是我的属性(property)。

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 世界中都是允许的,但是有一个名为 aNumberFlANumberFl 的字段将产生相同的 getter 名称。这意味着当 get 方法是源时,它必须选择其中之一,并且选择后者。

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

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

谢谢。

最佳答案

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

  • 删除a - 如果它是“A-Number”,而您有一个“B-Number”,请将属性设为大写 ​​- 丑陋,但可能有效。
  • Fl 没有任何意义 - 展开该缩写,一切都会好起来的。

关于java - Hibernate属性名称大写问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3179564/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com