初学Hibernate与Oracle的问题

来源:百度知道 编辑:UC知道 时间:2024/06/23 07:54:24
. 环境:MyEclispe6.0.1、Hibernate3.2.6、Oracle10g
. java类:
对应表类:
public class User {
private int id;
private String name;
private Date birthday;
get/set方法 略...
}
执行类:
public class Base {

public static void main(String[] args) {
Configuration cfg = new Configuration();
cfg.configure();

SessionFactory factory = cfg.buildSessionFactory();
Session session = factory.openSession();

User user = new User();
user.setName("laopin");
user.setBirthday(new Date());

//Transaction tsa = session.beginTransaction();
session.save(user);
//tsa.commit();

session.close();

System.out.println("end");
}
}
影射文件:User

首先确定下你不是用myeclipse做反向工程自动建表
因为在myeclipse里配置的database是oracle的话
会出现一些错误
这是myeclipse的一个bug

第一种情况你都没开启事物,当然不会有数据啦

你换一下主键生成策略
你的主键约束我不知道是不是存在问题
另外最好在hbm.xml里写上字段的类型
建议你要是刚入手的话 把字段都换成String类型的
都跑通后在换也不迟

对于hibernate来说 事务是必须的 文档上写得很清楚 不开事务自然些不进去数据

Could not execute JDBC batch 不能执行批处理 不明白
应该是说两条语句不能一次执行 oracle需要从序列器获取id 那句select就是取id 翻下文档看下id生成器那部分
或者你可以把oracle数据库里那个id字段默认值设置成hibernate_sequence.nextval