休眠映射 - 在类中找不到属性名称的设置器

Posted

技术标签:

【中文标题】休眠映射 - 在类中找不到属性名称的设置器【英文标题】:hibernate mapping - Could not find a setter for property name in class 【发布时间】:2014-07-31 06:50:00 【问题描述】:

我发现休眠需要具有相同/兼容名称的 setter 和 getter,例如: getName() & setName()

当 setter 看起来像这样时 setblablaName () Hibernate 抛出异常:org.hibernate.PropertyNotFoundException: Could not find a setter for property name in class 当我添加具有兼容 getter 名称 (setName()) 的 setter 时 - 解决了。

但是在所有代码中进行这些更改似乎需要大量工作和风险。 我正在寻找这个问题的替代解决方案..

注意(我用注释映射类)

【问题讨论】:

使用IDE的特性生成setter/getter 【参考方案1】:

了解 javabean 规范。

对于blablaName 的属性,您需要一个

 setBlablaName (...)

现代 IDE 具有用于生成 setter/getter 的向导

【讨论】:

【参考方案2】:

您可以使用 IDE 生成 setter 和 getter

source>generate getters and setters

然后选择你想拥有setter和getter的变量。另一种方法是右键单击你的编码区域然后查找source>生成getter和setter,这将节省很多时间:)

【讨论】:

【参考方案3】:

如果您不想更改 setter 方法名称,则可以使用委托方法

setblablaName(arg)
  setName(arg);

将你的休眠注释放在 setName() 和 getName() 上

【讨论】:

以上是关于休眠映射 - 在类中找不到属性名称的设置器的主要内容,如果未能解决你的问题,请参考以下文章

Spring Boot + Kotlin + Gradle - 错误:在类中找不到主要方法

Java-在类中找不到主要方法

在类中找不到 main(String[]) 方法:TapeDeck。主要方法在运行程序的另一个类中

java运行中找不到main方法

(转)错误: 在类中找不到 main 方法, 请将 main 方法定义为:public static void main(String[] args)否则 JavaFX 应用程序类必须扩展javafx

(转)错误: 在类中找不到 main 方法, 请将 main 方法定义为:public static void main(String[] args)否则 JavaFX 应用程序类必须扩展javafx