问题标签 [hibernate-session]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
java - Hibernate Criteria setReadOnly 不适用于第二个查询
正如上面的代码,它必须setReadOnly
为 true criteria
,所以firstName
不会AAA
(在数据库中),但它已将 重置setReadOnly
为 false criteria2
,为什么firstname
没有变成BBB
(在数据库中)?
spring - 使用类路径资源 hibernateconfig.class 中定义的名称 localContainerEntityManagerFactoryBean 创建 bean 时出错
我在创建类路径资源hibernateconfig.class中定义的名称为localContainerEntityManagerFactorryBean的bean时遇到错误。嵌套异常是javax.persistence.persistenceException:无法构建休眠会话工厂:来自事件的外键引用组织者的列号错误,应为 2。
和休眠配置
组织者
}
}
java - 选择后是否需要关闭休眠会话?
如果我使用SessionFactory
并在我的 DAO 类中使用它:
我需要关闭会话吗?做得如何?
java - hibernate 不设置别名,oracle 抛出 `ORA-00918: column ambiguously defined` 错误
我正在使用hibernate 4.3.11.Final,并且有这个模型和.hbm.xml
文件:
领域类
休眠映射文件
这是我在存储库中调用的方法:
这是调用方法时生成的sql查询:
并且因为 hql 没有为查询段设置别名,因为我在查询段中使用DU_Dossier
了我得到以下错误:update DTR.DU_Dossier
id
select count(*) from dossier_detail udd where udd.dossier_id = id) = 0
引起:java.sql.SQLSyntaxErrorException:ORA-00918:列定义不明确
我怎么解决这个问题?
java - 使用 session.save 保存对象时,Hibernate 不刷新会话?
首先看一下下面的代码,当其他进程想要使用这些模型时,我有三个主要模型来管理StoreHouse
和StoreHouseInvetory
's 并且有其他模型被命名StoreHouseInventoryLock
为临时锁定/解锁一些数量的's:StoreHouseInvetory
问题是当storeHouseInventoryService.sumOfLock
被调用时StoreHouseService.syncCurrentInventory
,它不知道storeHouseInventoryLockService.add
方法中PermitService.addDetailToPermitFromStoreHouseInventory
方法的变化,并且错误地计算了锁的总和。
我认为这是因为我打电话时没有刷新会话storeHouseInventoryLockService.add
。如果是真的,为什么休眠在此更改期间不刷新会话?如果没有,我该怎么办?
java - Hibernate Session 保存操作是否与底层数据库事务同步?
在HIbernate commit() 和 flush()遇到了这个例子
session.save(customer)
我的理解是当我们这样做时,休眠将数据库会话与休眠同步session.update(....)
?它是否仅在提交/刷新/刷新时而不是在更新/保存时进行晒黑?
java - Hibernate 4.3 到 5.2 升级的问题
我正在尝试将我们项目的 Hibernate 版本从4.3升级到5.2。我已经通过以下文档完成了升级所需的步骤
以及其他版本的升级文档。但是,在进行所需的更改后,我面临一些运行时错误。
我采用了一个非常简单的示例模型,在我的 EntityModel 中如下所示:
EntityMetamodel(cemployees_create:[Attribute(name=LastName, type=string [non-identifier]),Attribute(name=FirstName, type=string [non-identifier]),Attribute(name=BirthDate, type=timestamp [non-identifier] ]),Attribute(name=HireDate, type=timestamp [non-identifier]),Attribute(name=Photo, type=binary [non-identifier]),Attribute(name=ReportsTo, type=cemployees_create [non-identifier,association ]),Attribute(name=ReporteesArr, type=java.util.Collection(cemployees_create.ReporteesArr) [non-identifier,association])])
但是在5.2版中,当它试图在 AttributeFactory.java 中构建属性时,它会抛出以下异常:
当它试图为 Attribute(name=ReporteesArr, type=java.util.Collection(cemployees_create.ReporteesArr) [non-identifier,association])])构建属性时,就会发生这种情况
只是想检查是否有人以前遇到过这个问题,或者是否有任何解决方案。同样的事情在 Hibernate 4.3 上也能正常工作
同时添加休眠实体映射文件:
java - Propagation.REQUIRES_NEW 会对我的应用造成什么附带影响
我收到这样的错误
具有相同标识符值的不同对象已与会话关联:
我搜索并发现可以使用CascadeType.MERGE
或重构大量代码来修复它,以防止相同的数据库对象成为会话中的两个实例。
我无法重构它。
CascadeType.MERGE
工作,但这意味着我必须编写很多代码来解决删除问题,因为它是.ALL
以前的,对吧?
我得到它的工作推杆
上面一个方法,一个用 注释的类@Service
,那个查询数据库,它是抛出我提到的异常的那个。
我需要帮助来了解这种新的注释方法是否会像现在这样给我带来任何未来的头痛。
它是从我正在修复的操作旁边的一些 cron 作业中调用的。
hibernate - Hibernate 中的 evict() 和 clear() 方法有什么区别?
我想从会话中分离对象,所以我编写了如下所示的代码。但它并没有从会话中分离出来,而是保存到数据库中。
evict()
方法和方法如何clear()
,有人可以回答吗?
java - 无法访问另一事务中的一个事务会话数据
我正在使用带有休眠 jpa 的 Spring 事务。我有一个活动事务,在其中我使用 Propogation 创建了一个事务。RequiredNew 如何使第一个事务会话数据在下一个事务中可用