首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > JAVA > J2EE开发 >

hibernate主键生成对策,使用XML配置与使用Annotation配置,是否只需要一个就可以了

2012-09-05 
hibernate主键生成策略,使用XML配置与使用Annotation配置,是否只需要一个就可以了。RT想实现的功能很简单,

hibernate主键生成策略,使用XML配置与使用Annotation配置,是否只需要一个就可以了。
RT
想实现的功能很简单,在向数据库插入的时候,主键ID自动增加。
可以使用Xml配置,即在 XXX.hbm.xml这样写:
   
<id name="主键在java类中的字段名" column="对应表中字段" type="类型 ">

  <generator class="native"/>

</id>

或者使用Annotation配置,假设我这样写:@GeneratedValue

是不是都可以实现我想达到的功能?

但是我在实际试验的时候发现,第一种方法可行。但是在验证第二种方法的时候,出现点小问题。

我是这样做的,在xxx.hbm.XML文件中把 <generator class="native"/>这句话删除,在Anntation中主键GET方法前加上@GeneratedValue
但是结无法插入,提示是说“Hiberanate抛错:"当 IDENTITY_INSERT 设置为 OFF 时,不能向表 'student' 中的标识列插入显式值"
但是如果将xxx.hbm.XML文件中把 <generator class="native"/>这句话写上就没问题了。。但是明显的Anntation的主键省城策略没有起到作用。。。

[解决办法]
你要么全用注解 要么全用配置文件 不要两个混用
[解决办法]
在类名前边加上@Entity

Java code
@Entitypublic class 类{}
[解决办法]
楼上说的都对,xml和annotation不能混用,个人建议用annotation方式很简单
[解决办法]
一个是注解配置方式,一个是xml配置方式。
[解决办法]
你要么全用注解 要么全用配置文件 不要两个混用 你两者不能同时使用

热点排行