Jpa中虽然自带一些方法,但是有些地方还是需要自己定于SQL语句来创建方法。
现在我们想添加数据:
@Query中写sql语句,?前的数字与方法中参数的顺序匹配
@Modifying表示这是一个修改方法
@Transactional是事务,不加会报错(增加,删除,修改操作都需要加上事务注解)
@Query(value = "insert into book(name,author) values(?1,?2)",nativeQuery = true)
@Modifying
@Transactional
Integer addBook(String name,String author);
测试:
@Test
public void test7() {
Integer r1 = bookDao.addBook("朝花夕拾", "鲁迅");
System.out.println(r1);
}
结果:
Hibernate: insert into book(name,author) values(?,?)
1