我对Spring JPA非常陌生。我有以下实体类,我想将其插入到表中:
@Entity
@Table(name = "test")
public class Test {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
@Column(name = "id")
private int id;
@Column(name = "user")
private String user;
}
我有一个名为test
的空表。我有多个Test对象,我想把它插入到表中。为此,我创建了一个repo类:
@Repository("testRepo")
public interface TestRepo extends JpaRepository<Test, String> {
//write insert query
@Modifying
@Query(//What insert query I should write)
void insertData(@Param("id") String id);
}
我已搜索,但仅获得更新查询的选项。
5条答案
按热度按时间nukf8bse1#
从父接口
CrudRepository
继承的方法.save(Entity entity)
既可以用于更新现有实体,也可以用于创建新实体。o2rvlv0m2#
您的存储库接口扩展自JpaRepository,而JpaRepository扩展自 CrudRepository。保存和saveAndFlush方法可用作插入新行的默认方法。
***保存:***插入新行。可以将行列表作为参数提供给此方法。在示例中,应按如下方式使用:
或
***saveAndFlush:***只插入新行并立即提交更改。在您的示例中,应按如下方式使用它:
sqyvllje3#
在你的服务类中做一些类似下面的事情。你不必写一个单独的方法来保存实体。仓库的save方法可以用来保存实体。
9nvpjoqh4#
(“插入数据表值(-1)",nativeQuery = true)
zengzsys5#
使用spring Boot 2.7.5,我使用JPA Repository,例如:
根据参数方法,使用name_of_parameter传递参数。