Hibernate JPA 如何映射boolean到mysql数据库

Hibernate JPA 如何映射boolean到mysql数据库,第1张

你只要在你的实体里面把这个字段设置成boolean类型的就可以了啊

@Entity

public class Employee {

private Boolean visible = true;

public Boolean getVisible() {

return visible;

}

public void setVisible(Boolean visible) {

thisvisible = visible;

}

} 当然里面还必须有一个主健id了

你好,这样是可以的,和你写的代码一样,如果有两个属性同时映射到一个列,那么其中一个属性就必须设置为insert=false,update=false,我觉得你代码这样设计,最好是把userId设置为insert=false,update=false,而让hibernate去管理user的关系。还有,这个根本没有违反什么约束,只是说这种设计方法不算太好。

解决方法:

   在hibernate映射文件对数据库表的描述中,在当前字段处加入insert="false"语句,这时hibernate在进行插入 *** 作时,只会为那些有实值的字段赋值,而值为空白的字段就会使用数据库表中定义的默认值了。

举例说明,表person:

CREATE TABLE address (

 i_id int(11) NOT NULL auto_increment,

 c_address varchar(100) NOT NULL default '中国',

 PRIMARY KEY  (id)

)

addresshbmxml:

<hibernate-mapping package="cncomloughmodel">

   <class

       name="address "

       table="address "

       lazy="false"

   >

       <meta attribute="sync-DAO">true</meta>

       <cache usage="read-write"/>

       <id

           name="IId"

           type="integer"

           column="i_id"

       >

           <generator class="native"/>

       </id>

       <property

           name="C_Address"

           column="c_address "

           type="string"

           not-null="false"

           length="128"

       />

</hibernate-mapping>

运行程序

public regAddress(String a){   //传入的值a未在网页文本框里获得任何值(家庭地址)

Address p = new Address ();

psetAddress(a);

HiFactorysave(p);

}

此时hibernate生成的sql语句为insert into person(c_address) values('');

数据库表结果为

i_id   c_address

1      null

修改addresshbmxml为:

<hibernate-mapping package="cncomloughmodel">

   <class

       name="Address"

       table="address"

       lazy="false"

   >

       <meta attribute="sync-DAO">true</meta>

       <cache usage="read-write"/>

       <id

           name="IId"

           type="integer"

           column="i_id"

       >

           <generator class="native"/>

       </id>

       <property

           name="C_Address"

           column="c_address"

           type="string"

           not-null="false"

           length="128"

           insert="false"

       />

</hibernate-mapping>

再次运行程序,此时hibernate生成的sql语句为 insert into address() values();

正常情况下,vlookup映射出的结果就是链接内容,不是d,e,f中的数值内容。

即当sheet2中的g,h,i变化时,sheet3中vlookup的结果也是同时变化的。

如果不变,请看一下“自动重算”是否被关闭。

以上就是关于Hibernate JPA 如何映射boolean到mysql数据库全部的内容,包括:Hibernate JPA 如何映射boolean到mysql数据库、hibernate问题:数据库中的一个外键字段可以在实体中用多个属性去映射么、hibernate映射数据库表如何使表中字段默认值生效等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/sjk/10190560.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-06
下一篇 2023-05-06

发表评论

登录后才能评论

评论列表(0条)

保存