我正在尝试使用“我的实体” Bean进行CRUD操作。CRUDRepository
提供标准的方法find,delete
而save
但它有没有像一般的方法saveOrUpdate(Entity entity)
是依次呼叫Hibernate
或HibernateTemplate
会话saveorUpdate()
的方法。
该方法CRUDRepository
提供了这个功能就是用这样的
@Modifying
@Query("UPDATE Space c SET c.owner = :name WHERE c.id = :id")
Integer setNameForId(@Param("name") String name, @Param("id")
但这不是通用的,需要为完整的表单字段编写。请让我知道是否有任何方法或者我可以获取Hibernate会话或Spring HibernateTemplate的对象来解决此问题。
方法的执行
<S extends T> S save(S entity)
从界面
CrudRepository<T, ID extends Serializable> extends Repository<T, ID>
自动执行你想要的操作。如果实体是新的,它会调用persist
的entity manager
,否则它会调用merge
代码如下:
public <S extends T> S save(S entity) {
if (entityInformation.isNew(entity)) {
em.persist(entity);
return entity;
} else {
return em.merge(entity);
}
}
请注意,这SimpleJpaRepository
是CrudRepository
在Spring Data JPA 中自动实现的类。
因此,无需提供自定义saveOrUpdate()
方法。Spring Data JPA为你服务。
我正在尝试用我的实体bean执行CRUD操作。提供了用于、和的标准方法,但没有类似于的通用方法,该方法反过来调用或会话方法。 提供此功能的方式如下所示 但这不是通用的,需要为完整的表单字段编写。请让我知道是否有任何方法或我可以得到会话的Hibernate或对象的Spring HibernateTemplate来解决这个问题。
问题内容: 我正在向数据库中插入大约500 000个对象,其中许多对象是相同的(数据库中具有相同的主键表示),但是其他字段可能不同,因此我使用的方法是“更新-如果没有受影响的行-插入”。问题在于,有时对象的某些字段设置为null(无法从文件读取),并且已经在数据库中设置了某些值,因此我将其更新为null =删除它。)如何实现方案,即只更新字段不为空? 这是我现在如何做的一个简单示例: 问题答案:
问题内容: 是否可以通过量角器或WebDriver物理关闭选项卡? 我问是因为虽然我知道如何以编程方式切换选项卡,但它不会将活动选项卡置于前台。我不能总是说出在SauceLabs上进行的E2E测试中发生了什么,因为当我查看屏幕投射时,它显示的是我离开的选项卡,而不是活动的选项卡。 我会错误地解决吗? 问题答案: 您可以尝试以下方法: 切换到新打开的标签页。 关闭当前窗口(在本例中为新选项卡)。 切
因此,我今天的梁工作以以下警告结束: /usr/local/lib/python2。7/dist包/apache_-beam/runners/dataflow/dataflow_-runner。py:800:BeamDeprecationWarning:自第一个稳定版本以来,选项已被弃用。提及。选项将不受支持 所以据我所知,与其这样做: 我将不得不谈到这一点: 但有一个问题,很多选项不再可用,例如
我需要在SE环境中使用没有CDI容器的Jersey 2.28(带Jetty)。我的所有设置都在web.xml中: 以下是我使用的依赖项: 我得到的是: 我知道Jersey可以与不同的DI容器一起使用,例如Weld、HK2等,但是否可以不使用DI容器?如果是,那又是怎样做的呢?
在VScode中,我既不能安装linter也不能安装autopep8 formatter,我一直收到相同的错误消息,说没有针对该环境的pip 我有Python v. 3.8.5,并在VScode设置(/usr/local/bin/python3.8)中正确设置了路径。我选择Python v. 3.8.5作为我的解释器 问题可能是这样的: 我尝试过几次这样安装pip 当我检查pip -V时,它说 即