问题标签 [spring-orm]
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 - 事务管理器不承担事务
我遇到了一个问题,我真的不知道如何抓住猫尾巴(如果你把我开玩笑:o))
我有一个 webapp 在战争中,部署在 tomcat 中。战争包含 4 个罐子。4个jar有4个applicationContext,4个entityManager,4个TransactionManager。
像这样声明(更改数字 1..):
上下文是这样加载的:
我的问题是,我发现当我使用 3 的 BO 时,事务以 2 的数据源打开。
此外,如果我坚持下去,我会收到以下信息:
AbstractSaveEventListener - 由于没有正在进行的交易而延迟身份插入
但是,如果我单独启动 jar 1(例如),一切正常。
非常感谢您的启发。
java - 使用@Transactional 的类层次结构问题
项目设置:Spring 3.0.5 / JPA 2 / Hibernate / @Transactional
我们使用几个不同的数据源(因此也使用不同的事务管理器),但有共同的服务基类,因为很多功能都被重用了。
所以我们认为我们可以通过使用自定义注释来解决这个问题。我们在一个抽象基类中定义所有方法,并为每个事务管理器创建一个空的实现类。
现在的问题是:
在AbstractFallbackTransactionAttributeSource
中,这是正在执行的查找:
首先检查方法,然后检查声明该方法的类(及其祖先)。但是在我们的上下文中,自定义注解位于一个子类中,不能通过向上找到。
那么我们该如何解决这个问题呢?
【我在Spring社区论坛也问过这个问题】
spring - LocalContainerEntityManagerFactoryBean 和 LocalEntityManagerFactoryBean 有什么区别?
谁能解释 Spring Framework 的LocalContainerEntityManagerFactoryBean和LocalEntityManagerFactoryBean 有什么区别?
java - 如何有效地使用 Criterion 删除实体?
目前,我必须创建一个临时Criteria
并使用 获取匹配的实体列表Criteria.list()
,然后将列表传递给HibernateTemplate.deleteAll()
:
是否可以按标准删除但首先不加载列表?
也许,我应该将标准转换为 HQL,比如"delete from Foo where " + criterion.toHQL()
?
背景
我有一个搜索表单,稍后会对其进行解析并转换为 Criteria 组合。
使用 Criteria.list() 检索搜索结果。
现在,一个问题出现了,我想删除所有搜索结果。我是否应该再次解析搜索表单但以不同的方式将其转换为 HQL 字符串?如果我可以重用标准,事情会更简单。
由于 Criteria 最等同于 WHERE 子句,(不是吗?)我认为没有理由不能将 Criteria 用于删除。
hibernate - 动态更改会话工厂和 Txm 管理器以支持 I18N
在我们正在构建的 Spring-GWT 应用程序中,我有一个特殊的问题。我们有一个以不支持 UTF-8 的 WE8ISO8859P1 字符集编码的 Oracle DB。因此,我们正在 AL32UTF8 char set 中构建一个新数据库。不幸的是,DBA 不想将现有数据库迁移到新数据库,我们必须使用旧数据库获取英语数据,使用新数据库获取拉丁语数据。
我们在方法/类级别有 @Transactional 注释,并且 sessionFactory 被注入到 DAO 以连接到休眠。当用户选择拉丁语时,我想重用这些
@Transactional(动态更改)
即,当用户在拉丁语/英语之间切换时,注入的 TransactionManager 和 SessionFactory 应该通过 Ajax 调用动态更改。
这可以做到吗?解决此问题的最佳方法是什么?
再想一想,我可以通过制作 bean ApplicationContextAware 并在 dao 中设置它来获得拉丁会话工厂,但这是一个好方法吗?我该如何处理 TransactionManager ?
谢谢,
grails - 如何在 Grails 中使用 gorm 级联更新?
我的域之间的关系:
级联更新代码:
首先,我将sampleAttributes与CartridgeLane链接,然后我找到我想要更新的墨盒(链接到CartridgeLane ),最后我正在保存。
此代码仅插入数据(例如:将 sampleAttributes 和 CartridgeLane 数据添加到墨盒)。
我的问题是我正在寻找更新(而不是插入)。
如何管理级联更新?
gorm 如何区分更新和插入?
有没有更有效的级联更新方式?
java - Spring 3.1 entityManagerFactory java.lang.NoSuchFieldError: NULL 错误
我刚刚将 Spring 3.0.5 迁移到 3.1 GA。我在初始化期间遇到了运行时错误:
这是我的xml。
这是java.lang.NoSuchFieldError: NULL
关于什么的?3.0.5 没有问题。
ibatis - ibatis中的SqlMapClient和SqlMapSeesion有什么区别?
当我阅读 ibatis-sqlmap-2.3.4 时,我发现它们都实现了 SqlMapExecutor。
SqlMapClientImpl 使用提供线程安全的 localSqlMapSession 插入。
但是在spring2.5.6中,SqlMapClientTemplate的execute方法使用SqlMapClientImpl是这样的:
openSession 方法每次返回一个新的 SqlMapSessionImpl。
我的问题是:
为什么 SqlMapClientTemplate 使用 sqlMapSeesion 而不是 sqlMapClient ?
为什么 SqlMapClientTemplate 中未使用 sqlMapClient 的 localSqlMapSession ?像这样使用:
SqlMapClient 和 SqlMapSeesion 有什么区别?
spring - java.lang.ClassNotFoundException:org.hibernate.engine.SessionFactoryImplementor
我正在尝试使用spring 3.1.1.RELEASE迁移到休眠4.1.0.Final ,以下是我的休眠配置:
但是在尝试运行应用程序时,我遇到了以下异常:
请告知我为什么会收到此错误,以及如何解决,谢谢。
java - 使用 HibernateTemplate 时无法获取列名
我正在使用 Spring-orm 和 HibernateTemplate 来执行原生 SQL 查询(DB 是 Oracle 11 供参考),如下所示:
我已经成功地执行了查询并取回了结果。但是我想不出一种方法来获取结果列名,我开始认为使用这种方法是不可能的。我的问题是我必须执行来自用户输入的查询,而我对参数名称一无所知。
有任何想法吗?