Sql server hibernate调用persist会导致不支持操作异常

Sql server hibernate调用persist会导致不支持操作异常,sql-server,hibernate,exception,configuration,Sql Server,Hibernate,Exception,Configuration,我有以下设置: 视窗7 MSSQL数据库 冬眠 MSSQL服务器是使用odbcad32.exe作为数据源注册的 我有以下代码:唯一重要的部分 Person p = new Person("Hans", "Muster"); EntityManager eManager = HibernateUtil.getEntityManagerFactory().createEntityManager(); eManager.getTransaction().begin(); eManager.persis

我有以下设置: 视窗7 MSSQL数据库 冬眠

MSSQL服务器是使用odbcad32.exe作为数据源注册的

我有以下代码:唯一重要的部分

Person p = new Person("Hans", "Muster");
EntityManager eManager = HibernateUtil.getEntityManagerFactory().createEntityManager();
eManager.getTransaction().begin();
eManager.persist(p); // when I delete this line, the program works!
Person geladen = eManager.find(Person.class, new Long(1));
eManager.getTransaction().commit();
eManager.close();
<properties>
  <property name="hibernate.connection.url" value="jdbc:odbc:MSSQL;database=hibernatedb"/>
  <property name="hibernate.connection.driver_class" value="com.microsoft.sqlserver.jdbc.SQLServerDriver"/>
  <property name="hibernate.dialect" value="org.hibernate.dialect.SQLServerDialect"/>
  <property name="hibernate.connection.username" value="hibernate"/>
  <property name="hibernate.connection.password" value="geheim"/>
  <property name="hibernate.hbm2ddl.auto" value="create"/>
</properties>
我有以下persistence.xml:唯一重要的部分

Person p = new Person("Hans", "Muster");
EntityManager eManager = HibernateUtil.getEntityManagerFactory().createEntityManager();
eManager.getTransaction().begin();
eManager.persist(p); // when I delete this line, the program works!
Person geladen = eManager.find(Person.class, new Long(1));
eManager.getTransaction().commit();
eManager.close();
<properties>
  <property name="hibernate.connection.url" value="jdbc:odbc:MSSQL;database=hibernatedb"/>
  <property name="hibernate.connection.driver_class" value="com.microsoft.sqlserver.jdbc.SQLServerDriver"/>
  <property name="hibernate.dialect" value="org.hibernate.dialect.SQLServerDialect"/>
  <property name="hibernate.connection.username" value="hibernate"/>
  <property name="hibernate.connection.password" value="geheim"/>
  <property name="hibernate.hbm2ddl.auto" value="create"/>
</properties>
删除第19行时:eManager.persistp;。程序毫无例外地运行

我认为与数据库的连接有问题。我应该有写权限,因为数据库表是正确创建的。可以使用Person geladen=eManager.findPerson.class,new Long1从数据库中加载对象; 只有eManager.persistp;这是个问题