问题标签 [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.

0 投票
1 回答
10821 浏览

spring - bean 类 [org.springframework.orm.jpa.LocalContainerEntityManagerFactoryBean] 的无效属性“packagesToScan”

我试图找到解决方案,但仍然没有运气。

我正在关注“Pro Spring 3”一书(Appress)[第351页]

我已经将该项目生成为 jpa 项目。

据我了解,我可以persistence.xml在 bean 内部使用或管理它,这就是我想要的。

对于最新的我们需要定义packagesToScan属性。

当我尝试询问建议 (ctrl+space) 时,它没有 packagesToScan 属性。在此处输入图像描述

我错过了什么?

0 投票
1 回答
1705 浏览

rabbitmq - Spring AMQP/RabbitMQ 和 Hibernate 事务管理器

我有一个使用 Hibernate 和 PostgreSQL 的 Spring 应用程序。它还使用 Spring AMQP (RabbitMQ)。

我正在使用配置如下的 Hibernate 事务管理器:

我正在使用 SimpleMessageListenerContainer 进行异步消息接收,配置为:

所以基本上我已经指定消息的接收需要是事务性的。消息侦听器调用一个服务,该服务可以具有使用@Transactional 注释的方法,并可能在数据库上执行 CRUD 操作。

我的问题是,使用 HibernateTransactionManager 在 SimpleMessageListenerContainer 级别管理事务是否有问题?使用 DB 事务管理器来包装从 RabbitMQ 接收消息会不会有任何问题?

我不期待 XA 在这里。我只想确保如果服务对数据库的任何操作失败,消息不会被 RabbitMQ 代理确认。

0 投票
2 回答
14736 浏览

spring - Spring 3.1 和 JPA 2 没有正在进行的事务异常

我已经在这几个星期了。我试过eclipselink,现在只是普通的JPA。我一直遇到同样的问题。每次我尝试刷新我的实体管理器时,我都会收到“javax.persistence.TransactionRequiredException: no transaction is in progress”异常。我知道这与我如何连接所有东西有关,但我无法弄清楚。

我曾尝试编写 JUnit 测试来进行测试,但由于我是 Spring 新手,因此存在完全不同的问题。

需要注意的一些事项: 我没有使用 persistence.xml,因为我使用的是 spring 3.1 * App Server: WebSphere 8.5 (Liberty Profile) *

例外

pom.xml 依赖项

应用程序配置.xml

db-config.xml

抽象通用道

AccountDaoJpaImpl 包 com.smartpharm.account.dao.impl;

AccountServiceImpl

帐户控制器

同样在它尝试在数据库层提交之前的日志中,我看到它创建的日志然后两次销毁了一个 EntityManager

0 投票
1 回答
12875 浏览

hibernate - Spring Hibernate vs jdbc模板vs spring orm

我们有一个以 MySQL 数据库和 Spring 作为框架的项目。我对 Spring 很陌生,希望实现数据库访问层,发现有几个选项可用,比如

  • 使用 Spring + Hibernate
  • 使用 Spring JDBC 模板
  • 使用 Spring ORM 模块

我浏览了 stackoverflow 中的各种帖子,并在网上做了一些研究,但每个问题都有不同的答案,支持不同的选项。此外,我确实看到了关于 Spring JDBC 模板现在不被推荐的提及。

应用程序每小时可能有大约 1000 个事务,大约有 60% 的读取和 40% 的写入。

任何人都可以帮助我找到关于 3 个选项中哪一个适合以及为什么的答案?或者,如果您可以向我指出一些资源,那也将不胜感激。

0 投票
1 回答
1972 浏览

spring - HibernateException:找到对集合的共享引用

由于某些奇怪的原因,当我升级到 Hibernate 4 时,出现以下异常: HibernateException: Found shared references to a collection

我有以下 bean 像这样映射:

每当我在 HibernateCustomerProduct bean 上设置新集合时,都会出现异常。这很奇怪,因为我的测试中只有一个集合,但它仍然抱怨已经有另一个集合。这怎么可能?我的测试如下所示:

有人知道我做错了什么吗?在 Hibernate 3 中,这工作得很好。

0 投票
4 回答
34626 浏览

java - 继承的 Spring 3.1 Hibernate 4 异常[不能强制转换为 org.hibernate.mapping.RootClass]

嗨,我刚刚开始使用 Spring 以及 Hibernate4 和 maven。基本上我的类层次结构是 HUmanMicroTask 扩展自 MicroTask 。将来可能会有几个其他类从 MicroTask 扩展而来。我试图为每个具体类创建一个表,这是使用 spring3 和 hibernate 4 启动和运行的最简单方法。但是当我运行我的代码时。我不断收到以下异常

虽然我看过很多论坛,但我无法决定我在哪里犯了错误。我的 MicroTask 类如下所示:

我的 HumanMicroTask 类如下所示:

我的 config.xml 如下所示:

我的 Maven 配置

请帮帮我。我不确定我在哪里犯了错误。

0 投票
1 回答
2286 浏览

spring - 使用 HibernateTemplate 时关闭会话

考虑以下代码:

的主要任务之一HibernateTemplate是透明地打开和关闭会话。

在上面的代码中有两种方法saveUser()deleteUser()我想问一下:

1)将为HibernateTemplate这两种方法创建两个单独的会话,并且在这种情况下发生会话的关闭/刷新。

2)它和spring事务一样吗,就像在spring中一样,事务是方法调用和打开时建议的,会话的关闭发生在方法/事务的边界上?

0 投票
1 回答
740 浏览

spring - 如何重用persistence.xml中的类声明?

我正在开发一个使用 JPA/HIbernate 和 Spring 进行持久性和事务管理的项目。此应用程序具有从同一数据库服务器(Sybase 环境)的多个目录和模式映射的表。

为了开始使用内存数据库为这个应用程序创建自动化测试,我必须创建一个替代test-persistence.xml列表,列出默认的所有相同实体persistence.xml,但指定替代orm.xml映射文件,覆盖类中注释中的架构信息。

我的 Spring 测试配置中的关键部分是这样的:

HSQLFixes执行一些 JDBC 语句只是创建一些类型的 bean在哪里。

并且在persistence-tests.xml

现在,我想摆脱和中列出的类的重复persistence.xmltest-persistence.xml因为我觉得我可以自动生成第二个文件。

我怎么能动态地去做,这样我在添加/删除实体时就不需要更改两个 XML 文件?

0 投票
3 回答
1834 浏览

java - 每个实体一个 DAO - 如何处理引用?

我正在编写一个具有典型两个实体的应用程序:用户和用户组。后者可能包含前者的一个或多个实例。我有以下(更多/更少)映射:

用户:

用户组:

现在我为这些实体(UserDao 和 UserGroupDao)中的每一个都有一个单独的 DAO 类。我所有的 DAO 都使用 @PersistenceContext 注释注入了 EntityManager,如下所示:

使用此布局,我想创建一个新用户并将其分配给现有用户组。我这样做:

不幸的是,我得到以下异常:

对象引用未保存的瞬态实例 - 在刷新之前保存瞬态实例:xyzmodel.User.group -> xyzmodel.UserGroup

我对其进行了调查,我认为这是因为每个 DAO 实例都分配了不同的 entityManager(我检查过 - 每个 DAO 中对实体管理器的引用不同)并且对于用户 entityManager 不管理传递的 UserGroup 实例。

我试图将分配给用户的用户组合并到 UserDAO 的实体管理器中。这样做有两个问题:

  • 它仍然不起作用 - 实体管理器想要覆盖现有的 UserGroup 并且它得到异常(显然)
  • 即使它有效,我最终也会为每个相关实体编写合并代码

当使用相同的实体管理器进行查找和持久化时,所描述的案例有效。这指向一个问题:

  • 我的设计坏了吗?我认为这与此答案中推荐的非常相似。所有 DAO 是否应该有一个 EntityManager(否则网络声称)?
  • 还是应该在 DAO 内部完成组分配?在这种情况下,我最终会在 DAO 中编写大量代码
  • 我应该摆脱 DAO 吗?如果是,如何很好地处理数据访问?
  • 任何其他解决方案?

我使用 Spring 作为容器,使用 Hibernate 作为 JPA 实现。

0 投票
1 回答
595 浏览

spring - 使用 Spring-orm 的目的是什么?

我的项目中有以下 Maven 依赖项。

我们将 iBatis 用于 ORM。

  • 赋予这种依赖的目的是什么?
  • 如果我在 Spring 和 iBatis 之间建立桥梁,这是否需要?
  • 一般来说Spring和iBatis是怎么联系起来的?

感谢您的答复。