相关文章推荐
呐喊的小蝌蚪  ·  PageModel.PhysicalFile ...·  1 月前    · 
英姿勃勃的火柴  ·  Copy initiated by ...·  1 年前    · 
玩足球的饭卡  ·  Lua 文件 I/O | 菜鸟教程·  1 年前    · 

因为对jpa不太熟,遇到jpa的使用问题,搞了半个多小时,特此记录一下,

其他语句网上都有现成的资料。

    @Transactional(rollbackFor = Exception.class)
    @Modifying
    @Query(value = "INSERT into card (cid,catk,cdef,chp,cms,cas,camp,cname,cpow) values (:#{#card.cid},:#{#card.catk},:#{#card.cdef},:#{#card.chp},:#{#card.cms},:#{#card.cas},:#{#card.camp},:#{#card.cname},:#{#card.cpow})",nativeQuery = true)
    int saveOne(Card card);

刚开始只是#{#xx}这样写,实际上要添加:,如:#{#xx},才能将实体类里面的参数传进去

@ Query (value = select username from user,native Query = true) // 注意返回值用String类型接收,也可以使用Object String findOneUserName(); 二、单表查询的一个字段、多条数据 @ Query (value = select distinct username from user,native Query = true) // 注意返回值用String类型接收,也可以使用Object List findAllUserName(); 三、多表查询的多个字段、一条数 我們使用 Spring Framework裡,在Service 的 Method 給予@Transactional 系統就會去管理transaction,我們是在哪裡做了甚麼設定嗎? 為什麼下的這個Annotation成功會commit失敗會rollback呢? Transaction 管理做了哪些事情呢? 今天做项目遇到了一个问题,是以前没注意的。我用的是 Spring MVC+ Hibernate JPA + My SQL 数据库 。在插入数据后 SQL 执行日志中会多出一条select语句: 代码如下:Hibernate: insert into click_statstic (logDate, memoId, src, typeId) values (?, ?, ?, ?)Hibernate: select last_insert_id()表中有个主键是自增列。可是在以往的项目中,没发现有这样的问题。于是在网上各种找也找不到原因。心想可能是配置问题。 最终在persistence.xml配置文件中找 启动 JPA 程序本项目中,使用Hibernate作为隐藏在 JPA 幕后的ORM框架。在 Java EE环境中,由应用服务器负责启动 JPA 。包含持久化单元(内含 实体 、值对象、映射元数据和persistence.xml文件)的工件(war或ear存档文件)被部署到应用服务器之后,应用服务器会扫描持久化单元,读取persistence.xml文件和映射元数据,据此启动 JPA 程序。在 Java SE环境下,由应用... 0、我们在前后端 递数据时候, 参数 多的情况下,常常将这些 参数 封装成对象;当有些场景你需要使用 JPA native Query 自定义 SQL ,要将这个对象insert时候,初学者似乎有点犯难, jpa 不是 spring -data项目的内容吗,所以在 sql 中也是支持SPEL表达式来获取 参数 ,运用这个思路可以继续。注意以上获取属性的办法 :#{# 参数 对项目,属性} 获取到对象的属性。 * Specifies methods used to obtain and modify person related information * which is stored in the database. * @author Petri Kainulainen public interface PersonRepository extend... 一、 Jpa 接口自定义 sql 注解@ Query @ Query 注解,使用注解有两种方式,一种是JPQL的 SQL 语言方式,一种是原生 SQL 的语言,略有区别,代码中具体区别是native Query 属性是否为true,我们一般使用的都是原生 SQL 的语言,需要加native Query = true 不带 参数 sql @ Query (value = "select count(1) code,hdt.type data from history_design_theme hdt where 1=1 GROUP