Java 各种jpa方法的真实场景
我正在寻找一些使用hibernate/jpa方法的真实场景Java 各种jpa方法的真实场景,java,hibernate,jpa,Java,Hibernate,Jpa,我正在寻找一些使用hibernate/jpa方法的真实场景 例如何时使用merge()和何时使用persist() 何时使用getReference()与find() 何时需要拆离该对象?分离实体有什么用 以下是一些例子: 每当需要将新对象放入数据库时,应使用persist()。虽然merge()将在对象不存在时持久化该对象,但在使用merge()持久化新对象时,在某些特殊情况下(至少对我而言)发生了奇怪的事情。merge()非常有用的一种情况是,当您第一次从数据库获取对象时,将其传递到视图/控
以下是一些例子:
persist()
。虽然merge()
将在对象不存在时持久化该对象,但在使用merge()
持久化新对象时,在某些特殊情况下(至少对我而言)发生了奇怪的事情。merge()
非常有用的一种情况是,当您第一次从数据库获取对象时,将其传递到视图/控制器层(或以任何其他方式分离),对其进行更改并希望保存更改。使用merge()
这是自动完成的,否则您必须按id从db中获取对象,并从分离的字段中复制所有字段(如果您不确切知道更改了什么)getReference()
时,您不会将整个对象加载到会话中,您只会将它的引用设置到附加对象中,这样您最终(至少)比使用find()
时少了一个查询。另一方面,find()
加载整个对象,无需为此指定用例为什么“合并”在保留临时实体时创建副本?这是一篇关于
合并
和持久化
的好文章,它应该能帮你把事情弄清楚。还有一些更有用的链接:和