`
高培1991
  • 浏览: 2170 次
  • 性别: Icon_minigender_1
文章分类
社区版块
存档分类
最新评论

hibernate 的insert异常

阅读更多
测试类主要如下:
开用的junit,后来直接用的main函数

public class TuserDAOTest {

private static SessionFactory sf;
private static Session session;

@BeforeClass
public static void beforeClass() {
try {
sf = new Configuration().configure().buildSessionFactory();
session = sf.getCurrentSession();
} catch (Exception e) {
// TODO: handle exception
}
}
@AfterClass
public static void afterClass() {
sf.close();
}

public static void main(String[] args) {
sf = new Configuration().configure().buildSessionFactory();
session = sf.getCurrentSession
Tgroup group = new Tgroup();
group.setGroupId(3);
group.setGroupName("group2");
session.beginTransaction();
session.save(group);
session.getTransaction().commit();
}

该配置的都配好了,结果一运行就报如下异常

Hibernate:
    insert
    into
        BBS2.1.dbo.tgroup
        (groupName, groupId)
    values
        (?, ?)
Exception in thread "main" org.hibernate.exception.SQLGrammarException: could not insert: [com.sc.dao.model.Tgroup]
at org.hibernate.exception.SQLStateConverter.convert(SQLStateConverter.java:90)
at org.hibernate.exception.JDBCExceptionHelper.convert(JDBCExceptionHelper.java:66)
at org.hibernate.persister.entity.AbstractEntityPersister.insert(AbstractEntityPersister.java:2285)
at org.hibernate.persister.entity.AbstractEntityPersister.insert(AbstractEntityPersister.java:2678)
at org.hibernate.action.EntityInsertAction.execute(EntityInsertAction.java:79)
at org.hibernate.engine.ActionQueue.execute(ActionQueue.java:279)
at org.hibernate.engine.ActionQueue.executeActions(ActionQueue.java:263)
at org.hibernate.engine.ActionQueue.executeActions(ActionQueue.java:167)
at org.hibernate.event.def.AbstractFlushingEventListener.performExecutions(AbstractFlushingEventListener.java:321)
at org.hibernate.event.def.DefaultFlushEventListener.onFlush(DefaultFlushEventListener.java:50)
at org.hibernate.impl.SessionImpl.flush(SessionImpl.java:1028)
at org.hibernate.impl.SessionImpl.managedFlush(SessionImpl.java:366)
at org.hibernate.transaction.JDBCTransaction.commit(JDBCTransaction.java:137)

at com.sc.dao.imp.TuserDAOTest.main(TuserDAOTest.java:74)
Caused by: com.microsoft.sqlserver.jdbc.SQLServerException: '.1' 附近有语法错误。
at com.microsoft.sqlserver.jdbc.SQLServerException.makeFromDatabaseError(Unknown Source)
at com.microsoft.sqlserver.jdbc.IOBuffer.processPackets(Unknown Source)
at com.microsoft.sqlserver.jdbc.SQLServerStatement.sendExecute(Unknown Source)
at com.microsoft.sqlserver.jdbc.SQLServerStatement.doExecuteUpdate(Unknown Source)
at com.microsoft.sqlserver.jdbc.SQLServerPreparedStatement.executeUpdate(Unknown Source)
at org.hibernate.jdbc.NonBatchingBatcher.addToBatch(NonBatchingBatcher.java:46)
at org.hibernate.persister.entity.AbstractEntityPersister.insert(AbstractEntityPersister.java:2265)
... 11 more
分享到:
评论

相关推荐

    Hibernate中大量数据的更新

    Hibernate 的批量抓取机制允许将多个INSERT 语句合并成一个批量插入语句,从而提高性能。在 Hibernate 配置文件中,可以设置 `hibernate.jdbc.batch_size` 参数来指定批量抓取的大小。 如何实现批量更新 在 ...

    Hibernate3使用经验

    如果出现异常,则回滚事务并打印错误信息。 以上就是关于 Hibernate 3.0 的一些使用经验和技巧。这些内容涵盖了如何在 Hibernate 中配置参数、执行 SQL 语句、获取 Session 以及如何在 DAO 层进行事务处理等方面的...

    个人对hibernate的看法,应该会对大家有一

    - **Save操作**:在Hibernate中,`save`方法用于将一个实例持久化到数据库中,通常会对应于数据库中的`INSERT`语句。 - **Update操作**:对于已存在的实体对象,如果其状态发生改变,Hibernate会在事务提交时自动...

    Hibernate4实战资料

    它提供了多个可选参数,如name用于指定列名,unique用于设置唯一性约束,nullable定义是否允许空值,insertable和updatable控制列在INSERT和UPDATE语句中的行为,columnDefinition允许自定义SQL DDL片段,table指定...

    Hibernate入门教程.pdf

    可以看到,虽然DbUtils简化了JDBC的使用,但仍然需要手动编写SQL语句和处理异常。相比之下,Hibernate则更加自动化,能够根据实体类自动生成相应的SQL语句,进一步减少了开发者的负担。 通过上述知识点的学习,初学...

    hibernate_flush 深入了解

    如果在事务中遇到异常,所有未提交的变更会被回滚,保证数据的一致性。 再者,隔离级别是数据库事务处理并发问题的关键。Hibernate支持四种标准的事务隔离级别:READ UNCOMMITTED、READ COMMITTED、REPEATABLE READ...

    模拟hibernate的session.save()功能

    5. **SQL语句的生成与执行**:模拟`save()`方法意味着需要根据对象的状态生成对应的INSERT SQL语句,并执行它。这涉及到对SQL语法的理解以及如何从对象属性中提取值生成SQL。 6. **异常处理**:在处理数据库操作时...

    hibernate错误解决方案

    在使用Hibernate框架进行开发的过程中,经常会遇到各种各样的异常问题。这些问题可能会导致程序无法正常运行,甚至影响到系统的稳定性。本文将针对几个常见的Hibernate错误进行深入分析,并提供相应的解决方法。这些...

    Java中Hibernate的批量插入

    然而,在处理大量数据的批量操作时,如批量插入、更新或删除,如果不采取适当的策略,可能会导致性能问题甚至出现内存溢出异常。针对这种情况,Hibernate提供了一些批量处理的解决方案。 批量插入是处理大量数据...

    hibernate的各种保存方式的区别

    当调用此方法时,Hibernate会生成一条SQL INSERT语句来将该对象的数据插入到数据库中。如果该对象已经处于持久化状态,则调用`save`方法将会抛出异常。 - **update** 方法用于更新一个脱管状态的对象。当调用此...

    spring和hibernate集成后,通用的basedao

    "通用的basedao"通常是指一个基础的DAO接口或者抽象类,包含了常见的数据操作方法,如增加(insert)、删除(delete)、更新(update)和查询(find)。在描述中提到的增删改查和分页功能的封装,意味着这个baseDAO...

    Spring+Hibernate工具类所有增删改查

    例如,它们可能包括了保存(insert)、更新(update)、删除(delete)和查询(select)数据的方法,这些方法可能是基于JdbcTemplate或者HibernateTemplate实现的。 JdbcTemplate是Spring提供的一个数据库访问组件...

    dynamic-insert,dynamic-update 我有话要说

    3. **NULL值处理**:在使用`dynamic-insert`时,如果某个字段在数据库中定义为非可为空(NOT NULL),但在对象中为NULL,那么Hibernate会抛出异常。因此,需要确保对象的属性值与数据库的约束相匹配。 4. **索引影响...

    spring3,hibernate4 配置声明式事务管理(annotation方式)

    如果在这个方法内部发生任何异常,整个事务会被回滚,确保数据的一致性。 最后,我们可以在测试类中使用`@RunWith(SpringJUnit4ClassRunner.class)`和`@ContextConfiguration`注解来加载Spring配置,并进行事务相关...

    在hibernate中的数据库操作

    - **功能**: 将 Java 对象持久化到数据库中,即执行 INSERT 操作。 - **示例代码**: ```java Teacher t = new Teacher(); t.setName("s1"); t.setTitle("yy"); t.setDate(new Date()); Configuration cfg = ...

    精通 Hibernate:Java 对象持久化技术详解(第2版).part2

     5.1.5 控制insert和update语句  5.2 处理SQL引用标识符  5.3 创建命名策略  5.4 设置数据库Schema  5.5 设置类的包名  5.6 运行本章的范例程序  5.7 小结  5.8 思考题 第6章 映射对象标识符  6.1 关系...

    Hibernate持久层方法汇总

    如果对象已经有一个有效的标识符(ID),那么Hibernate会尝试更新数据,否则,它会生成一个新的ID并执行INSERT操作。需要注意的是,`save()`方法并不立即执行SQL,而是等到事务提交时才执行。 5. `session.update()...

    Hibernate和struts中遇到的问题.doc

    例如,`TbManager`和`TbManagerB`可能分别对应不同的表,它们的数据绑定配置应分别准确无误,以避免在执行`insert`操作时出现错误。 在解决这些问题时,理解Struts的MVC架构和Hibernate的ORM原理至关重要。对于初学...

    java错误大全(包括基本异常和开源框架出现的异常)

    Java错误大全涵盖了从基础异常到特定开源框架如Hibernate和Struts中可能出现的异常情况。以下是一些关键知识点的详细说明: 1. **错误类型:**Java中的错误通常分为两种主要类型,异常(Exception)和错误(Error)...

Global site tag (gtag.js) - Google Analytics