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. PHP文件操作函数一

    <?php/*Created on 2013-6-26*///判断文件的类型echo filetype("array.php")."<br />&quo ...

  2. 【CodeForces】841D. Leha and another game about graph(Codeforces Round #429 (Div. 2))

    [题意]给定n个点和m条无向边(有重边无自环),每个点有权值di=-1,0,1,要求仅保留一些边使得所有点i满足:di=-1或degree%2=di,输出任意方案. [算法]数学+搜索 [题解] 最关 ...

  3. mongoDB的简单使用

    1.客户端连接: ./mongo 2.数据库 一个mongodb中可以建立多个数据库. MongoDB的默认数据库为"db",该数据库存储在data目录中. MongoDB的单个实 ...

  4. 网络知识===cookie 、session、JSESSIONID的区别

    cookie .session ? 让我们用几个例子来描述一下cookie和session机制之间的区别与联系.笔者曾经常去的一家咖啡店有喝5杯咖啡免费赠一杯咖啡的优惠,然而一次性消费5杯咖啡的机会微 ...

  5. 1.docker镜像

    1.docker的安装 安装 wget -qO- https://get.docker.com/ | sh 启动docker后台服务 sudo service docker start 测试运行hel ...

  6. python模块之copy

    提供浅拷贝和深拷贝两种模式. =>copy(x):返回x的浅拷贝 =>deepcopy(x):返回x的深拷贝 浅拷贝和深拷贝: 浅拷贝复制不变对象,引用可变对象(如列表和字典): 深拷贝复 ...

  7. Java 的初始化顺序

    初始化顺序: 1.将对象内存空间初始化为二进制0(所有的数据成员被设为默认值) 2.如果该类有基类则初始化其基类(调用默认基类构造器,也可在子类构造器中指定调用基类的某个构造器) 3. 静态成员和静态 ...

  8. 安装并启用rabbitmq服务器

    1.确保Erlang已经安装 2.安装rabbitmq服务器 [root@bogon yum.repos.d]# rpm --import https://dl.bintray.com/rabbitm ...

  9. c语言中Triplet是什么意思?

    此词条多出现于三元组抽象数据类型的定义. 例如: 数据结构编程试验中,构造三元组类型. 1.三元组抽象数据类型的定义 ADT Triplet { 数据对象:D={e1, e2, e3| e1, e2, ...

  10. 编译opencv有关cuda的代码

    opencv3.2提供了cuda很好的支持,cuda的opencv接口,让用户想使用opencv那样去使用cuda,不用写cuda代码 一开始编译opencv有关cuda的代码,opencv 里sam ...