数据库非空字段,如果设置缺省值的时候,通常用sql操作的时候是不会出现问题的,但通过hibernate的非hql操作的时候,就需要在hbm中进行配置,配置方法如下:
<property name="isActive" type="java.lang.String" not-null="true">
<column name="IS_ACTIVE" length="1" default="Y"/>
</property>
并且要增加dynamic-insert="true" dynamic-update="true"
这里注意 ...
通过一个简单的例子描述一下在hibernate中如何实现多对多的关系。
系统环境:Webwork + spring + hibernate
逻辑描述:实现一个用户(User)和组(Group)的逻辑关系。系统中的用户可以自行创建组,同时每个组中可以添加不同的成员。这个环境是一个典型的多对多的关系,唯一的一个区别是,每个组是有从属的,也是说每个组隶属于一个用户,在这一点上是一个一对多的关系。
系统目标,可以灵活创建用户、组,同时组中可以添加用户。
数据库表:User(用户表)、groups(用户组),用过powerdesign可以设计一个数据逻辑模型,将其转化为屋里模型后,实际我们可以看到 ...
hibernate提供了saveOrUpdate的方法来进行数据库的操作。对于saveOrUpdate的解析,robbin有很精辟的文章了,这里不再重复,hibernate会根据对象的状态决定是insert还是update,其根本是通过xml文件中unsaved-value来确定的。
如果设置null,系统会根据传入的对象的id的值判断,如果是null,则表示对象不存在,那么insert,如果不是Null,则表示已经存在,那么update
如果设置为none,那么表示对象不存在,会始终调用insert
如果设置为any,那么表示对象始终存在,会始终调用update
了解这些后,在使用的 ...
Hibernate的配置文件里面有很多的参数可以设置,下面将自己的配置写出来:
<prop key="hibernate.dialect">org.hibernate.dialect.MySQLMyISAMDialectprop>
这个不用多解释了,泛指用到的数据库的方言,这里用到的是Mysql
xml 代码
<prop key="hibernate.connection.provider">or ...







评论排行榜