create table t_user( id int primary key auto_increment, user_name varchar(50), birthday date, infor longtext, gender varchar(10) ); 【Java类:】 package bean; import java.util.Date; import java.util.List; import javax.persistence.Basic; import javax.persistence.Column; import javax.persistence.Entity; import javax.persistence.EntityManager; import javax.persistence.EntityTransaction; import javax.persistence.EnumType; import javax.persistence.Enumerated; import javax.persistence.FetchType; import javax.persistence.Id; import javax.persistence.Lob; import javax.persistence.Query; import javax.persistence.Table; import javax.persistence.Temporal; import javax.persistence.TemporalType; import javax.persistence.Transient; import util.JPAManagerFactory; /** * 用户类 * @author 青山 * @date 2014年10月18日 * @file name: UserBean.java * * 注意: * 一般在属性或者是get方法的前面没有配置column注解,有可能是应为 * 属性名和字段名是相同的,省略了。 * */ @Entity @Table(name="t_user") public class UserBean { @Id //@GeneratedValue //不能使用默认,必须要指定值,要不然就自己指定主键 否则:org.hibernate.PersistentObjectException: detached entity passed to persist: bean.UserBean //@GeneratedValue(strategy=GenerationType.AUTO) private int id ; @Column(name="user_name") private String name; /* * 1985-8-23 --> Date 日期 * 12:30 --> Time 时间 * 1985-8-23 12:30 --> Timestamp 时间戳 */ //这里的生日是一个日期类型,素以需要使用时间方面的注解:Temporal @Temporal(TemporalType.DATE) @Column(nullable=false)//不允许为空 private Date birthday; /** * 性别的枚举类型:Gender.java * EnumType.ORDINAL:保存枚举的索引值 * EnumType.STRING:保存枚举的字符串 * 作为枚举值,在这里只有两种情况,male和female,没有空,所有需要有注解说明不能为空 */ //这里Gender是一个枚举类型 @Enumerated(EnumType.STRING) @Column(nullable=false) private Gender gender; //一般来说字符串在数据库中最常只有255个字节,但是如果长度太大,就没有办法存储 //解决办法:使用大文本数据的注解 @Lob @Column(name="infor") //basic注解一般和大数据的字段配合使用 @Basic(fetch=FetchType.LAZY) //设置抓取策略为延迟加载,如果不访问get方法,就不会加载该属性的值 private String introduce; //如果不希望属性成为持久化字段的话,就需要使用注解Transient(该注解表示字段不和表字段映射) @Transient private String imgPath; //保存二进制数据 这个也是大数据,也是用Lob注解 一般需要延迟加载 @Lob @Basic(fetch=FetchType.LAZY) @Transient //这里这个字段只是练习,所以不需要持久化到数据库 private byte[] file; public int getId() { return id; } public void setId(int id) { this.id = id; } public String getName() { return name; } public void setName(String name) { this.name = name; } public Date getBirthday() { return birthday; } public void setBirthday(Date birthday) { this.birthday = birthday; } public String toString(){ return this.id+" "+this.name+" "+this.birthday; } public String getIntroduce() { return introduce; } public void setIntroduce(String introduce) { this.introduce = introduce; } public String getImgPath() { return imgPath; } public void setImgPath(String imgPath) { this.imgPath = imgPath; } public byte[] getFile() { return file; } public void setFile(byte[] file) { this.file = file; } public Gender getGender() { return gender; } public void setGender(Gender gender) { this.gender = gender; } public static void main(String[] args) { EntityManager manager = JPAManagerFactory.getMFInstance().getManager(); EntityTransaction t = manager.getTransaction(); t.begin(); // UserBean user = new UserBean(); // user.setId(2); // user.setBirthday(new Date()); // user.setGender(Gender.FEMAIL); // user.setName("天意"); // String info = "聚焦经典案例!主委会在设置深圳站议程的时候更加突出了经典案例的演讲比例,不论是服务号还是企业号的开发、功能设计、高级应用案例。例如,我们邀请了获微信官网推荐、被原微信产品总监曾鸣(现产品部助理总经理)称为,腾讯眼中微信公众平台上七个经典案例的南航微信服务号、招商银行信用卡服务号,他们的开发商或信息技术团队负责人都将带来精彩演讲。" //+"作为招商银行信用卡微信服务号的开发商,深圳云软还做过中国电信、广东联通、民生银行、华泰证券等行业领先案例,是国内首屈一指的能承建千万级用户的微信第三方开发商。深圳云软联合创始人/技术副总裁黄榕振将带来《以招行为例 微信公众帐号企业应用开发高级篇》 的主题演讲。" //+"演讲议题不仅将围绕企业应用微信公众帐号的几个阶段、细谈CRM绑定、分离式CRM、交互设计的核心、系统安全性的几个问题、功能设计与用户痛点、某银行功能使用频度分析、多客服高级应用、分层次的软件架构设计、高性能和高可用设计、多公众号分权分域管理、分组群发高级应用几个主题展来深入演讲。黄榕振的演讲中还将融入微信平台的最新接口功能和应用。" //+"而作为南航微信服务号实际操盘手的郑炜旸(南方航空资深架构师/微信项目产品经理 ),不仅将带来南航在微信平台上开发服务号过程的三个阶段,重点内容涵盖了南航微信服务号的平台规划、功能点设计、用户痛点、安全问题、高级应用等内容。另外,作为首批微信企业号的尝鲜者,在企业号的开发和使用上,南航也有自己的独到之处。" //+"说到企业号,除了郑炜旸演讲中讲涉及企业号的开发与运营之外,来自于长安汽车股份有限公司管理创新与IT中心总工程师、原南航信息中心CTO 龙庚将带来《长安汽车微信企业号是如何炼成》的专场主题演讲。" //+"本着对所有参会者负责的原则,主委会要求演讲嘉宾观点明确,从实践出发,拒绝泛谈大概念/大趋势、空洞理论。"; // System.out.println(info.length());//760+ // user.setIntroduce(info); // manager.persist(user); // /** // * 当对象处于托管状态的时候调用set方法就能够同步到数据库 // * 这里,我们开启了事务,然后通过find方法获取对象,这个对象就处于托管的状态 // * // * manager.clear();//将manager管理的所有托管状态的对象变为游离状态 // * 在游离状态的对象调用set方法,改变属性的值,是不能同步到数据库的,只有托管状态的对象能同步到数据库 // * // * manager.merge(user); //该方法是将游离状态的实体对象同步到数据库(类似于从游离状态转换为托管状态,这样就可以直接更新到数据库) // */ // UserBean user = manager.find(UserBean.class, 2); // user.setName("龙天狼"); Query query = manager.createQuery("select user from UserBean user where user.id=?11");//采用位置参数的设置方法 query.setParameter(11, 1); List<UserBean> list = query.getResultList(); for(UserBean user : list){ System.out.println(user.toString()); } // UserBean user = (UserBean)query.getSingleResult(); // System.out.println(user.getName()); t.commit(); manager.close(); } }
相关推荐
赠送jar包:hibernate-jpa-2.1-api-1.0.2.Final.jar; 赠送原API文档:hibernate-jpa-2.1-api-1.0.2.Final-javadoc.jar; 赠送源代码:hibernate-jpa-2.1-api-1.0.2.Final-sources.jar; 赠送Maven依赖信息文件:...
赠送jar包:hibernate-jpa-2.1-api-1.0.2.Final.jar; 赠送原API文档:hibernate-jpa-2.1-api-1.0.2.Final-javadoc.jar; 赠送源代码:hibernate-jpa-2.1-api-1.0.2.Final-sources.jar; 赠送Maven依赖信息文件:...
hibernate-jpa-2.1-api-1.0.0.final-sources.jar 源码 hibernate-jpa-2.1-api-1.0.0.final-sources.jar 源码
`hibernate-jpa-2.1-api-1.0.0.final.jar`是Hibernate对JPA 2.1规范的实现库,它使得开发者能够使用Hibernate的高效功能同时遵循JPA规范。 **1. Hibernate与JPA的关系** Hibernate最初作为一个独立的ORM框架,后来...
hibernate-jpa-2.0-api-1.0.1.Final.jar
hibernate-jpa-2.0-api-1.0.1.Final-sources.jar hibernate jpa 源代码
hibernate-jpa-2.1-api-1.0.0.Final.jar官方下载,请放心使用
java.lang.NoClassDefFoundError: javax/persistence/spi/ProviderUtil 或javax/persistence/entitylistener问题
java运行依赖jar包
这个源码包"hibernate-jpa-2.0-api-1.0.1.Final-sources"包含了完整的源代码,可以帮助我们深入了解其内部机制,从而更好地应用在实际项目中。 1. **JPA简介**:Java Persistence API(JPA)是Java平台上的一个标准...
本篇文章将重点围绕“hibernate-jpa-2.1-api-1.0.0.final-sources.jar.zip”这一压缩包,深入解析Hibernate对JPA 2.1 API的实现,以期帮助读者深入理解其内部机制。 JPA(Java Persistence API)是Java平台上的一个...
### JPA学习笔记-EJB-02JPA属性注解 #### 一、引言 在上一篇文章中,我们简要介绍了Java Persistence API (JPA)的基础知识,包括它的基本部署和操作流程,从而让我们对JPA有了初步的认识。本文将继续深入探讨JPA的...
**标题详解:** "hibernate-jpa-2.1-api 1.0.0.Final API" 这个标题指的是Hibernate对Java Persistence API (JPA) 2.1规范的实现,版本为1.0.0.Final。Hibernate是Java领域中最受欢迎的对象关系映射(ORM)框架之一...
综上所述,"querydsl-jpa-codegen-3.3.3.zip" 为Java开发者带来了高效、类型的JPA查询解决方案,而"JBugmenot.zip"则提供了一种便捷的匿名登录机制。这两个开源项目展示了Java社区的创新精神和对开发效率的追求。...
本项目"springboot-jpa-activiti-bootstrap-master"正是一个将这三个技术进行深度整合的实例,旨在帮助开发者理解并掌握它们之间的协同工作方式。 首先,SpringBoot是Spring框架的一种轻量级实现,它简化了设置和...
hibernate-jpa-2.1-api-1.0.2
标签:activemq-jpa-store-5.0.0-sources.jar,activemq,jpa,store,5.0.0,sources,jar包下载,依赖包
**JPA(Java Persistence API)学习——JPA Demo工程** JPA是Java平台上的一个标准,用于处理对象关系映射(ORM),它提供了一种在Java应用中管理和持久化对象的方式,简化了数据库操作。本篇文章将围绕JPA的基础...