User.hbm.xml中<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Mapping DTD 3.0//EN"
"http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd">
<!--
Mapping file autogenerated by MyEclipse Persistence Tools
-->
<hibernate-mapping>
<class name="com.lee.hibernate.User" table="user" catalog="test">
<composite-id name="id" class="com.lee.hibernate.UserId">
<key-property name="id" type="java.lang.Integer">
<column name="ID" />
</key-property>
<key-property name="name" type="java.lang.String">
<column name="NAME" length="50" />
</key-property>
<key-property name="password" type="java.lang.String">
<column name="PASSWORD" length="50" />
</key-property>
<key-property name="firstName" type="java.lang.String">
<column name="FIRST_NAME" length="50" />
</key-property>
<key-property name="lastName" type="java.lang.String">
<column name="LAST_NAME" length="50" />
</key-property>
<key-property name="dateCreated" type="java.util.Date">
<column name="DATE_CREATED" length="0" />
</key-property>
</composite-id>
</class>
</hibernate-mapping>
程序运行后显示
log4j:WARN No appenders could be found for logger (org.hibernate.cfg.Environment).
log4j:WARN Please initialize the log4j system properly.
Exception in thread "main" java.lang.ClassCastException: java.lang.Integer
at org.hibernate.type.ComponentType.toLoggableString(ComponentType.java:377)
at org.hibernate.event.def.AbstractSaveEventListener.saveWithGeneratedId(AbstractSaveEventListener.java:112)
at org.hibernate.event.def.DefaultSaveOrUpdateEventListener.saveWithGeneratedOrRequestedId(DefaultSaveOrUpdateEventListener.java:187)
at org.hibernate.event.def.DefaultSaveEventListener.saveWithGeneratedOrRequestedId(DefaultSaveEventListener.java:33)
at org.hibernate.event.def.DefaultSaveOrUpdateEventListener.entityIsTransient(DefaultSaveOrUpdateEventListener.java:172)
at org.hibernate.event.def.DefaultSaveEventListener.performSaveOrUpdate(DefaultSaveEventListener.java:27)
at org.hibernate.event.def.DefaultSaveOrUpdateEventListener.onSaveOrUpdate(DefaultSaveOrUpdateEventListener.java:70)
at org.hibernate.impl.SessionImpl.fireSave(SessionImpl.java:535)
at org.hibernate.impl.SessionImpl.save(SessionImpl.java:523)
at org.hibernate.impl.SessionImpl.save(SessionImpl.java:519)
at com.lee.hibernate.UserDAO.save(UserDAO.java:30)
at com.lee.hibernate.HibernateExample.addUser(HibernateExample.java:22)
at com.lee.hibernate.HibernateExample.main(HibernateExample.java:8)
大哥们帮忙!
分享到:
相关推荐
- 缓存管理:Hibernate提供了第一级缓存(Session级别的)和第二级缓存(SessionFactory级别的),合理利用可以提高性能。 - 视图渲染:Struts可以结合FreeMarker或JSP进行视图的动态渲染,注意避免过多的Java代码...
- **第一部分**:介绍了如何创建第一个Hibernate应用程序,包括设置环境、编写实体类、创建映射文件等步骤。 - **设置**:配置Hibernate所需的环境和依赖库。 - **第一个class**:创建一个简单的Java类作为持久化...
在这个"Struts1.0+hibernate3.3登陆条件查询分页简单例子"中,我们将探讨如何结合这两个框架实现用户登录功能,并进行条件查询和分页操作。 首先,Struts1.0作为控制器,处理用户请求并转发到相应的业务逻辑。它...
// 设置第一个参数为"Jack" int num = query.executeUpdate(); // 执行插入操作 if (num > 0) { System.out.println("插入成功"); } else { System.out.println("插入失败"); } ``` 在上述代码中,我们首先定义...
综上所述,这个SSH框架实现的支付宝例子涵盖了Java Web开发中的多个关键环节,包括MVC架构设计、数据库操作、第三方接口集成以及安全性实践,是学习和研究Java Web支付系统的好素材。通过深入理解并实践这个项目,...
本文将详细介绍如何使用Java注解来实现表单验证,并通过一个具体的例子——`User`类——来展示这一技术的实际应用。 #### 一、Java注解概述 Java注解是一种元数据,可以被添加到Java程序中的任何元素上(如类、...
这是用户登录交互的第一步,通过表单提交触发登录逻辑。 2、Struts处理请求: 当表单提交后,请求会被Struts框架捕获。在Struts的配置文件(通常为struts-config.xml)中,定义了一个名为`loginActionForm`的action...
1. **Spring**:Spring是Java企业级应用的核心框架,提供了一个全面的配置和依赖注入机制,使得开发者可以轻松地管理对象及其依赖关系。在本项目中,Spring可能被用来处理事务管理、AOP(面向切面编程)以实现日志...
10. **最佳实践**:始终将验证视为一个整体过程,不仅限于用户输入,还包括数据在系统内流动的每个阶段。遵循“尽早验证,多次验证”的原则,以减少潜在的问题。 通过上述内容,我们可以看到`validation验证`在Web...
反之,如果扣款失败,比如因为余额不足或输入的金额不合法,我们会显示一个错误页面(如`error.jsp`)。 在实际开发中,还需要考虑其他因素,如事务管理。取款操作通常被视为一个原子操作,必须全部完成或全部回滚...
在这个例子中,我们假设UserService有一个getUserById方法,该方法根据ID返回一个User对象。我们使用assertEquals检查返回的User对象的名字是否为"John Doe",并用Hamcrest的is matcher来验证年龄是否为30。如果这些...
1. **Servlet生命周期**:Servlet在服务器启动时并不加载,而是在接收到第一个请求时被初始化。之后,每当有新的请求到来,Servlet容器(如Tomcat)会创建一个Servlet实例来处理请求。处理完成后,Servlet实例可能...
我到公司不久,第一个工程是xxx公司网站,做这个工程的时候我遇到了几个问题,我在以前公司做的时候没有在这么短的时候完成一个工程的,在效率上提高了我的能力。做这个工程的时候我也遇到了许多以前没有遇到过的...
Struts2还允许集成如Hibernate Validator这样的第三方验证库,以利用其丰富的验证规则和表达式语言,增强验证功能。 综上所述,Struts2验证框架为开发者提供了一套全面的表单验证解决方案,既可以通过XML配置,也...
Spring的事务管理不仅限于JDBC,还支持Hibernate、JDO、OJB等持久层技术,并且能够处理涉及多个资源的分布式事务。对于只需要单一持久化资源的应用,可以直接使用该资源自身的事务支持;对于需要跨资源的事务,...
如果失败,则返回一个错误常量。 7. **错误处理和国际化**:Struts2允许你通过配置文件定义全局错误消息和异常处理器,这使得错误信息的显示更加统一。此外,通过使用资源文件,可以轻松实现应用的国际化和本地化。...
SpringBoot是一个由Pivotal团队开发的Java框架,它的目标是简化Spring应用的初始搭建以及开发过程。SpringBoot集成了大量的常用第三方库配置,如数据访问、安全、WebSocket等,使得开发者可以快速地“起步并运行”...
一个“项目”的概念模型 1.6. Maven是Ant的另一种选择么? 1.7. 比较Maven和Ant 1.8. 总结 2. 安装和运行Maven 2.1. 验证你的Java安装 2.2. 下载Maven 2.3. 安装Maven 2.3.1. 在Mac OSX上安装Maven ...