1. 入门http://jingyan.baidu.com/article/cbf0e500965a352eab289368.html
  2. 步骤
    1、查看是否hibernate支持:file-->plugins-->hibernate(搜索)
    2、新增web project,勾选web application、hibernate、create default hibernate
    3、点击左下角框框,弹出database,读取sqlserver数据库数据自动生成配置文件
    4、编写测试程序实现插入数据操作
    public class HTest {
    public static void main(String[] args) {
    TableName log = new TableName();
    // log.setId(10001);
    log.setAid(1);
    log.setRelatedId("111"); try {
    String remark="111的备注";
    String ret = new String(remark.getBytes("ISO-8859-1"),"GB2312");
    log.setRemark(ret);
    } catch (UnsupportedEncodingException e) {
    e.printStackTrace();
    } DateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
    Date date = new Date();
    String dateStr = sdf.format(date);
    log.setCreated(Timestamp.valueOf(dateStr)); SessionFactory fac= new AnnotationConfiguration().configure().buildSessionFactory(); // Configuration configuration = new Configuration();
    // SessionFactory fac = configuration.configure().buildSessionFactory(); Session session =fac.getCurrentSession();
    session.beginTransaction();
    session.save(log);
    session.getTransaction().commit();
    }
  3. 过程中遇到的问题及解决方案
      1、 Could not load requested class : com.microsoft.sqlserver.jdbc.SQLServerDriver
   解决方法:缺少sqlserver驱动导致
    1、下载sqljdbc4.jar 
    2、file-->project structure-->modules-->dependencies-->引入sqljdbc4.jar
 
   2、No CurrentSessionContext configured 
          解决方法:hibernate.cfg.xml配置文件中加上节点:<property name="current_session_context_class">thread</property>
 
    3、当 IDENTITY_INSERT 设置为 OFF 时,不能为表 '' 中的标识列插入显式值
  解决方法:sqlserver中主键为自增长导致,数据库对应的实体类加上:
  @GeneratedValue(strategy = GenerationType.IDENTITY)
 
   4、hibernate写入数据库时出现乱码
          解决方法:暂未找到解决方法

java_hibernate的更多相关文章

随机推荐

  1. [POJ1144][BZOJ2730]tarjan求割点

    求割点 一种显然的n^2做法: 枚举每个点,去掉该点连出的边,然后判断整个图是否联通 用tarjan求割点: 分情况讨论 如果是root的话,其为割点当且仅当下方有两棵及以上的子树 其他情况 设当前节 ...

  2. JGroups 初探

    最近研究 JAVA 集群技术,看到 jgroups 这个框架,网上有些例子,非常简单.可以参考其官方网址:http://www.jgroups.org/manual/index.html按捺不住,自己 ...

  3. python面向对象之继承与派生

    一.继承 继承是一种创建新的类的方式,在python中,新建的类可以继承自一个或者多个父类,原始类称为基类或超类,新建的类称为派生类或子类. python中类的继承分为:单继承和多继承,如果是多继承的 ...

  4. [Leetcode Week2]Merge Intervals

    Merge Intervals题解 原创文章,拒绝转载 题目来源:https://leetcode.com/problems/merge-intervals/description/ Descript ...

  5. 【bzoj3289】mato的文件管理

    首先允许离线,一眼莫队…… 然后考虑对于每次移动,这不就是让你求逆序对嘛(QAQ) 考虑怎么移动? 每次在最后添加一个数,比这个数大的数都会与其形成一个逆序对 每次在最后移除一个数,比这个数大的数都会 ...

  6. python ajax post 数据

    简单的html <div> <input type="submit" id="tes" value="tes"> & ...

  7. 区块链开发(七)truffle使用入门汇总

    截止上篇博客,以太坊区块链开发的环境和框架基本上搭建完毕.这一篇博客重点梳理一下基本的流程和操作演示. 前奏 基于前面的安装配置,现在重新梳理一遍,以前博客讲到的就在这里一笔带过. (1)创建一个工作 ...

  8. .NET Core Runtime ARM32 builds now available

    原文地址:传送门 .NET Core Runtime ARM32 builds now available The .NET Core team is now producing ARM32 buil ...

  9. 将datatable导出为excel的三种方式(转)

    一.使用Microsoft.Office.Interop.Excel.DLL 需要安装Office 代码如下:  2         public static bool ExportExcel(Sy ...

  10. shell脚本学习(二)

    shell传递参数 shell脚本在执行是可以传递参数,脚本内获取参数的格式为:$n,n为一个数字,1为第一个参数,2为第二个参数,以此类推 其中,$0代表了要执行的文件名 实例: 代码如下: #!/ ...