0 0

openJPA无法输出主键值,其他字段却可以,why??5

表结构如下
mysql> describe animal;
+-------+-------------+------+-----+---------+----------------+
| Field | Type        | Null | Key | Default | Extra          |
+-------+-------------+------+-----+---------+----------------+
| id    | int(11)     | NO   | PRI | NULL    | auto_increment |
| name  | varchar(40) | YES  |     | NULL    |                |
| state | varchar(20) | YES  |     | NULL    |                |
+-------+-------------+------+-----+---------+----------------+

实体类如下(getter setter略)
@Entity
public class Animal {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
private int id;

@Basic
private String name;

private String state;
}


以如下方法输出表的内容:
public static void main(String[] args) {

EntityManagerFactory factory = Persistence.createEntityManagerFactory("mysql");
EntityManager manager = factory.createEntityManager();
manager.getTransaction().begin();


Query query = manager.createQuery("select a from Animal a order by a.id desc");
List<Animal> animals = query.getResultList();
if(animals != null && animals.size() > 0) {
for(Animal animal : animals) {
System.out.format("%4d %-20s %-20s\n", animal.getId(), animal.getName(), animal.getState());
}
System.out.println("matched total size : " + animals.size());
}else {
System.out.println("数据库表animal没有记录");
}

manager.getTransaction().commit();
manager.close();
factory.close();
}

输出结果如下:
   0 openJPA186           state186           
   0 openJPA146           state146           
   0 openJPA247           state247           
   0 openJPA429           state429           
   0 openJPA475           state475  


请问为什么输出的id都是0,这只是初始化的值,id属性根本就没被设置!!知道的请指点,谢谢!!


DAO 
2009年11月30日 11:57
目前还没有答案

相关推荐

    Open JPA2 employee 简单例子

    这里的@Id注解标识了主键字段,@GeneratedValue表明主键值由数据库自动生成。其他属性如name和position是员工的属性。 接下来,我们需要配置OpenJPA2,这通常在持久化单元(Persistence Unit)配置文件persistence....

    通过 WebSphere Application Server V6.1 利用 OpenJPA

    OpenJPA还提供了`@GeneratedValue`来自动生成主键值,`@Column`用于详细定义列属性。 在WebSphere中,我们需要配置一个持久化单元(Persistence Unit)。持久化单元定义了如何连接到数据库,使用哪个JDBC驱动,以及...

    Spring和openJPA集成

    而OpenJPA则是一个开源的JPA(Java Persistence API)实现,它为Java应用程序提供了对象关系映射(ORM)的能力,使得开发者可以方便地在Java对象和数据库记录之间进行交互。 **一、Spring框架** Spring的核心在于...

    OpenJPA 2.2.1 API (CHM格式)

    OpenJPA 可以作为独立的持久层框架发挥作用,也可以轻松的与其它 Java EE 应用框架或者符合 EJB 3.0 标准的容器集成。  除了对 JPA 标准的支持之外,OpenJPA 还提供了非常多的特性和工具支持让企业应用开发变得更加...

    openjpa 写的一个例子

    OpenJPA,全称Open Java Persistence API,是Java平台上的一个开源对象关系映射(ORM)框架,它实现了Java Persistence API(JPA),用于管理Java应用程序中的持久化数据。在这个"openjpademo"示例中,我们将会探讨...

    openjpa范例及实例工程

    默认情况下,当应用程序第一次获取实体标识时,OpenJPA 框架从数据库中一次性获取 50 个连续的实体标识缓存起来,当下一次应用程序需要获取实体标识时,OpenJPA 将首先检测缓存中是否存在实体标识,如果存在,Open...

    openJpa的应用,感觉还可以

    OpenJPA(Open Java Persistence API)是Apache软件基金会下的一个开源项目,它是Java持久层标准JPA(Java Persistence API)的一个实现。JPA是Java EE平台中的一个重要组件,用于管理和处理应用程序中的对象-关系...

    openjpa 源码 下载 帮助开发人员调试

    OpenJPA,全称Open Java Persistence API,是Apache软件基金会的一个开源项目,它实现了Java持久化API(Java Persistence API,JPA),为Java开发者提供了一种标准的方式来管理和持久化应用程序中的对象。...

    Spring中使用OpenJPA

    同时,注意在开发过程中,OpenJPA的日志可以帮助你调试和优化,你可以通过配置控制台输出或日志文件来查看相关信息。 总之,Spring与OpenJPA的结合为Java开发者提供了一个强大且灵活的持久层解决方案,使得我们能够...

    jsf、openJpa学习

    学习这些内容可以帮助你深入理解JSF框架及其与OpenJPA和Spring的集成,从而提升你的Web开发技能。通过实践这些示例,你可以更好地掌握如何在实际项目中运用这些技术,构建高效、稳定的Web应用。

    openJPA官方手册

    ### OpenJPA官方手册知识点概览 #### 一、引言 - **OpenJPA**:作为Apache项目的一部分,OpenJPA是一个开源的Java持久化框架(Java Persistence Framework),它支持Java Persistence API (JPA) 的规范。OpenJPA...

    openjpa jar

    OpenJPA,全称为Open Java Persistence API,是Apache软件基金会下的一个开源项目,主要目标是实现Java持久化规范,即JPA(Java Persistence API)。JPA是Java EE平台中的一个核心组件,它提供了一种标准的方式来...

    Spring MVC+OpenJPA框架

    Spring MVC和OpenJPA是Java开发中常用的两个框架,它们分别在Web应用和持久层处理上发挥着重要作用。Spring MVC是Spring框架的一部分,用于构建高效、灵活的Web应用程序,而OpenJPA则是一个实现了Java Persistence ...

    OpenJPA API 文档 chm格式

    OpenJPA API 文档 chm格式

    Apache OpenJPA 2.1 User's Guide

    ### Apache OpenJPA 2.1 用户指南:Java Persistence API 的深入解析 #### 一、简介 Apache OpenJPA 2.1 是基于 Sun Microsystems 的 Java Persistence 2.0 API (JSR-317 JPA 2.0) 规范实现的一种透明持久化 Java ...

    openjpa-manual

    ### OpenJPA-Manual 关键知识点解析 #### 一、OpenJPA介绍 **1.1 关于本文档** 本文档旨在提供一个全面且深入的指南,帮助开发人员理解和掌握Java Persistence API(JPA)的核心概念及其在Apache OpenJPA中的实现...

    Openjpa手册

    ### OpenJPA 手册知识点概述 #### 一、OpenJPA 概述 - **定义与背景**:OpenJPA是Apache组织提供的一款开源项目,它实现了Java Persistence API(JPA)规范,该规范源自EJB 3.0中的JPA标准。OpenJPA作为一个持久化...

    JPA教程,包括TOPLink JPA,Hibernate JPA,Open Jpa,jpa批注

    同时,OpenJPA可以与Spring框架和其他开源项目很好地集成,适合大型企业级应用。 **4. JPA批注** JPA批注是定义实体类和其属性与数据库表之间映射的关键部分。常用的批注包括: - `@Entity`:标记一个Java类作为...

    Apache OpenJPA.zip

    Apache OpenJPA 是一个开源的Java持久层框架,它实现了Java Persistence API (JPA),这是Java平台上的标准对象关系映射(ORM)规范。JPA允许开发者以面向对象的方式处理数据,而无需直接编写SQL语句,从而简化了Java...

Global site tag (gtag.js) - Google Analytics