Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/hibernate/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如何在Hibernate中为具有可空列的表构造类?_Java_Hibernate_Jboss - Fatal编程技术网

Java 如何在Hibernate中为具有可空列的表构造类?

Java 如何在Hibernate中为具有可空列的表构造类?,java,hibernate,jboss,Java,Hibernate,Jboss,我有一个表,其中的值可以为null,我最初用这些值的原语int编写了我的类,但是当其中一个值包含null时,我会出现以下异常: 为基元类型setter的属性分配了Null值 但是,当我尝试将setter更改为java.lang等效项时,我在setter上得到了一个no-this方法错误 如果您知道这些值可能为null,那么如何构造该类 我试过: 基元setter/getter基元私有变量 基元setter/getter对象变量 对象setter/setter getter对象私有变量 都没有

我有一个表,其中的值可以为null,我最初用这些值的原语int编写了我的类,但是当其中一个值包含null时,我会出现以下异常: 为基元类型setter的属性分配了Null值

但是,当我尝试将setter更改为java.lang等效项时,我在setter上得到了一个no-this方法错误

如果您知道这些值可能为null,那么如何构造该类

我试过:

  • 基元setter/getter基元私有变量
  • 基元setter/getter对象变量
  • 对象setter/setter getter对象私有变量
都没有用

我正在连接一个客户站点上的MySQL数据库,为了测试这一点,我针对一个SQL Server数据库进行了测试,没有发现这个问题,但我认为在这台机器上没有任何变量被设置为null

我正在使用JBoss 5.1.0和Hibernate 3(我是为Hibernate 4和JBoss 7.1开发的,但由于某种原因,客户的IT政策不允许他们使用JBoss 5.1.0之后的版本)

Edit:发现NoSuchMethodException是一个JSP问题而不是hibernate问题,清除JBoss的temp dir并重新部署应用程序解决了这个问题


我接受下面问题的正确答案。

我对变量和getter/setter都使用对象包装器,它能正确地处理null。如果您的DB列允许空值,我建议一直使用对象包装。

我会重试,但当我使用对象包装时,getter方法上出现MethodDoesNotExist异常。结果表明,异常是JSP问题,而不是Hibernate问题。