当前位置: 代码迷 >> J2EE >> hibernate annotations疑问,该如何处理
  详细解决方案

hibernate annotations疑问,该如何处理

热度:18   发布时间:2016-04-22 01:30:47.0
hibernate annotations疑问
在学习hibernate annotation的时候遇到一个疑问:SQL SERVER数据库有自增主键的时候,使用annotations的时候设置@Id后,插入提示:当 IDENTITY_INSERT 设置为 OFF 时,不能为表 'Teacher' 中的标识列插入显式值。

代码如下:
Java code
    public static void main(String[] args) {        Teacher t = new Teacher();        t.setName("annotations");        t.setTitle("annotations test");                Configuration cfg = new AnnotationConfiguration();        SessionFactory sf = cfg.configure().buildSessionFactory();        Session session = sf.openSession();        session.beginTransaction();        session.save(t);        session.getTransaction().commit();        session.close();        sf.close();                    }@Entitypublic class Teacher {    private int id;    private String name;    private String title;        @Id    public int getId() {        return id;    }    public void setId(int id) {        this.id = id;    }    public String getName() {        return name;    }    public void setName(String name) {        this.name = name;    }    public String getTitle() {        return title;    }    public void setTitle(String title) {        this.title = title;    }


------解决方案--------------------
先在数据库把IDENTITY_INSERT 设置为on
然后执行插入语句试试
------解决方案--------------------
hbm.xml 标识列是否正确设置了设置了<id name="aid" type="java.lang.Integer">
<column name="aid" />
<generator class="native 标识类型" />
</id>
  相关解决方案