微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

用Jersey构建RESTful服务6--Jersey+SQLServer+Hibernate4.3

一、总体说明

本例运行演示了用Jersey构建RESTful服务中,如何同过Hibernate将数据持久化进sqlServer的过程

二、环境

1.上文的项目RestDemo

2.sqlServer2005

三、配置

与上文MysqL的配置不同点主要在hibernate.cfg.xml文件
配置如下:

<?xml version='1.0' encoding='utf-8'?>  
<!DOCTYPE hibernate-configuration PUBLIC  
        "-//Hibernate/Hibernate Configuration DTD 3.0//EN"  
        "http://www.hibernate.org/dtd/hibernate-configuration-3.0.dtd">  
  
<hibernate-configuration>  
   <session-factory>  
   <!-- Database connection settings -->  
        <property name="connection.driver_class">net.sourceforge.jtds.jdbc.Driver</property>  
        <property name="connection.url">jdbc:jtds:sqlserver://192.168.1.10:1433;RestDemo</property>  
        <property name="connection.username">sa</property>  
        <property name="connection.password">aA123456</property>  
        <property name="hibernate.default_schema">RestDemo</property>
        <!-- JDBC connection pool (use the built-in) -->  
        <property name="connection.pool_size">1</property>  
        <!-- sql dialect -->  
        <property name="dialect">org.hibernate.dialect.sqlServerDialect</property>  
        <!-- Enable Hibernate's automatic session context management -->  
        <property name="current_session_context_class">thread</property>  
        <!-- disable the second-level cache  -->  
        <property name="cache.provider_class">org.hibernate.cache.internal.NoCacheProvider</property>  
        <!-- Echo all executed sql to stdout -->  
        <property name="show_sql">true</property>  
        <!-- Drop and re-create the database schema on startup -->  
        <property name="hbm2ddl.auto">update</property>  
        <mapping resource="com/waylau/rest/bean/User.hbm.xml"/>  
      </session-factory>  
</hibernate-configuration>  
四、问题

可能会出现如下错误

ERROR: 指定的架构名称 "RestDemo" 不存在,或者您没有使用该名称的权限。
三月 26,2014 3:38:43 下午 org.hibernate.tool.hbm2ddl.SchemaUpdate execute
INFO: HHH000232: Schema update complete
Hibernate: insert into RestDemo.T_USER (userName,age,USERID) values (?,?,?)
三月 26,2014 3:38:43 下午 org.hibernate.engine.jdbc.spi.sqlExceptionHelper logExceptions
WARN: sql Error: 208,sqlState: S0002
三月 26,2014 3:38:43 下午 org.hibernate.engine.jdbc.spi.sqlExceptionHelper logExceptions
ERROR: 对象名 'RestDemo.T_USER' 无效。

解决方案:

配置文件中的“hibernate.default_schema”值修改为如下即可:

       <property name="hibernate.default_schema">RestDemo.dbo</property>

或者去掉上面的配置,在“User.hbm.xml”修改如下

    <class name="User" table="T_USER" schema="RestDemo.dbo">  

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐