`
南望山下守望者
  • 浏览: 10281 次
  • 来自: 武汉
社区版块
存档分类
最新评论

JPA NamedQuery

    博客分类:
  • Java
阅读更多
    最近使用JPA的 NamedQuery,总是抛出ReturnType异常,NullPoint空指针异常。后来发现是有以下规律:
    1>当使用EntityManager.createNamedQuery(String, Class<T>)时,生成的TypedQuery只能用来进行查询操作,例如getResultList();不可以执行executeUpdate()方法,一旦执行executeUpdate()进行更新、删除操作,就会引发异常;
   2>如果要通过命名查询生成Query,并执行executeUpdate()方法,只能使用EntityManager.createNamedQuery(String).executeUpdate(),不可以提供Class<T>参数。
分享到:
评论

相关推荐

    hibernate-jpa-named-query-xml-annotation-example.zip

    This tutorial show how to use Hibernate/JPA Named Queries. We start by explaining why we would use named queries. Next, we show an example of how to use named queries, either with annotations or XML ...

    JPA 标注 JPA标签手册

    - `@NamedQuery`, `@NamedNativeQuery`:预定义SQL或JPQL查询。 - `@SqlResultSetMapping`:定义SQL查询结果集的映射。 7. **其他**: - `@DiscriminatorColumn` 和 `@DiscriminatorValue`:用于多态继承时,...

    spring data jpa 例子

    此外,`@NamedQuery`和`@NamedNativeQuery`可以定义预编译的查询,提高性能。 事务管理是Spring Data JPA的另一大优势。通过配置`@Transactional`注解,可以很容易地在方法级别控制事务的开始、提交或回滚。这使得...

    jpa 全面学习资料

    - **查询操作**: 使用`find()`, `createQuery()`, `NamedQuery`等方式获取数据。 - **事务管理**: JPA支持声明式和编程式事务控制,确保数据一致性。 **4. JPA注解** JPA注解是实现ORM的关键,例如: - **@Table**:...

    JPA环境搭建源代码

    `JpaDemo1`可能还包含了查询实体的示例,例如使用`@NamedQuery`或`TypedQuery`: ```java @NamedQuery(name = "findAllUsers", query = "SELECT u FROM User u") ``` 或 ```java TypedQuery&lt;User&gt; query = em....

    hibernate-jpa.jar

    例如,@NamedQuery和@NamedNativeQuery用于定义预编译的查询。 3. **事务管理**:通过@TransactionAttribute注解,可以在方法级别声明事务边界,实现事务的ACID属性。 4. **事件监听**:Hibernate JPA允许注册事件...

    李勇JPA快速入门05_jpa中的查询

    @NamedQuery(name = "User.findAll", query = "SELECT u FROM User u") public class User {} ``` 然后在代码中可以通过EntityManager的createNamedQuery方法调用这个预定义的查询。 5. **动态查询** JPA允许...

    jpa查询详解

    @NamedQuery(name = "findPersonById", query = "select p from Person p where p.id = :id") ``` 在上面的示例代码中,我们定义了一个名为 `findPersonById` 的命名查询,该查询用于检索 Person 实体根据 id 字段...

    JPA构造器的使用样例

    这通常通过@NamedQuery或@Query注解在Repository接口中实现。 首先,我们需要定义一个实体类,这个实体类可能包含多个表的数据。例如,假设我们有两个相关的表`User`和`Address`,我们可以创建一个`UserProfile`类...

    Spring Data JPA1.7中文文档

    查询方法支持多种策略,包括自动查询生成、使用 `@NamedQuery`、`@Query` 注解编写自定义 JPQL 查询,以及使用参数绑定和 SpEL 表达式。 3.4. **存储过程** Spring Data JPA 也支持调用数据库存储过程,通过 `@...

    java JPA 批注参考

    - `@NamedQuery` 和 `@NamedNativeQuery`:预定义命名查询,提高性能。 - `@SqlResultSetMapping` 和 `@SqlResultSetMappings`:用于自定义SQL查询结果集的映射。 11. **其他批注**: - `@AssociationOverride` ...

    JPA JPQL常用

    命名查询是一种预定义的JPQL查询,可以在实体bean上通过`@NamedQuery`或`@NamedQueries`注解来声明。这样做可以提高代码的可读性和可维护性,特别是对于经常使用的查询。例如: ```java @NamedQuery(name = ...

    JPA所有例子

    5. **查询操作**:使用JPQL或Criteria API进行查询,或者使用`@NamedQuery`预定义查询。 **JPA的优缺点**: 优点: 1. 提供了一种统一的API,减少了与特定数据库的耦合。 2. 支持面向对象的编程模型,易于理解和...

    ssh2,JPA规范基础框架+ant打包

    Hibernate作为JPA的实现,提供了丰富的ORM功能,包括查询语言HQL,以及Criteria和NamedQuery等高级查询方式。 在“ant打包”这个环节,Ant是Apache的一个开源构建工具,它使用XML定义构建过程,可以执行编译、测试...

    hibernate-jpa

    - 使用预编译查询(NamedQuery或Criteria API)提高性能。 - 注意实体的生命周期管理,避免内存泄漏。 总结来说,“Hibernate-JPA”是Java开发中一个强大且易用的数据持久化工具,通过遵循JPA规范,它为开发者提供...

    spring data jpa1.7 中文

    @NamedQuery(name = "Person.findByFirstName", query = "SELECT p FROM Person p WHERE p.firstName = ?1") // 其他属性 } ``` - **使用 @Query**: - 可以通过 `@Query` 注解来定义具体的查询语句。 - 示例...

    JPA 批注 参考

    同时,还可以使用`@NamedQuery`或`@NamedNativeQuery`预定义查询。 ### 存储过程 JPA允许调用数据库的存储过程,使用`StoredProcedureQuery`接口进行操作。 ### 持久化上下文 持久化上下文(Persistence Context)...

    09_传智播客JPA详解_使用JPQL语句进行查询

    7. **命名查询和查询注解**:介绍预定义的命名查询,以及在实体类上使用@NamedQuery和@Query注解的方式,提高代码的可读性和维护性。 8. **案例实战**:结合实际项目,演示如何在Java代码中执行JPQL语句,以及如何...

    Spring data JPA笔记资料

    7. NamedQuery:预定义的JPQL查询,可以在实体类上用@NamedQuery注解声明,方便重复使用。 8. 查询构造:使用createQuery()和createNamedQuery()方法创建Query对象,然后调用executeUpdate()或getResultList()执行...

    spring3.0 mvc+hibernate3.6 +jpa 注解实例

    2. **@NamedQuery** - 在实体类中定义预编译的查询,提高性能。 3. **@Transactional** - 标记方法为事务性,Spring会自动管理事务。 **实例的运行** 为了运行这个实例,你需要进行以下步骤: 1. 配置数据库连接...

Global site tag (gtag.js) - Google Analytics