我用的是Karaf 3.0.0,Hibernate 4.2.7.Final,容器管理的jpa。
持久性捆绑包在启动时进入GracePeriod状态,然后进入失败状态。下面是启动软件包时Karaf日志中的错误。
2014-04-07 16:46:01,716 | INFO |本地用户karaf | BlueprintContainerImpl | 4-org . Apache . Aries . blue print . core-1 . 3 . 0 | Bundle ecomm . Dao . impl . hibernate正在等待依赖项[(
在安装hibernate之前,我已经安装了jpa、交易和jndi功能。我还没有安装openjpa功能。
此外,白羊座JPA容器管理上下文和白羊座JPA容器捆绑包都处于活动状态。还注意到启动服务时没有Jpa-hibernate错误中建议的EntityManagerFactory服务
下面是hibernate包的快照。
karaf@root()> bundle:list
START LEVEL 100 , List Threshold: 50
ID | State | Lvl | Version | Name
------------------------------------------------------------------------------------
115 | Active | 80 | 3.0.0 | Apache Karaf :: JNDI :: Command
121 | Active | 80 | 0.9.0 | ClassMate
122 | Active | 80 | 2.7.7.5 | Apache ServiceMix :: Bundles :: antlr
123 | Active | 80 | 1.8.2.2 | Apache ServiceMix :: Bundles :: ant
124 | Active | 80 | 1.6.1.5 | Apache ServiceMix :: Bundles :: html" target="_blank">dom4j
125 | Active | 80 | 1.14.1.1 | Apache ServiceMix :: Bundles :: serp
126 | Active | 80 | 3.18.1.GA | Javassist
127 | Active | 80 | 1.0.2.Final | JACC 1.4 API
128 | Active | 80 | 0 | wrap_mvn_org.jboss_jandex_1.1.0.Final
129 | Active | 80 | 3.1.3.GA | JBoss Logging 3
130 | Active | 80 | 4.0.4.Final | hibernate-commons-annotations
135 | Active | 80 | 4.2.7.Final | hibernate-core
136 | Active | 80 | 4.2.7.Final | hibernate-entitymanager
137 | Active | 80 | 4.2.7.Final | hibernate-osgi
138 | Active | 80 | 1.1.0.201404041646 | Ecomm Store
139 | Active | 80 | 1.1.0.201404041646 | Ecomm Dao
140 | GracePeriod | 80 | 1.4.0.201404071644 | Ecomm DAO Impl
我的配置中是否缺少什么?
非常感谢。
在更改启动捆绑包的顺序后,该问题现在已解决。必须在启动hibernate-osgi捆绑包之前启动持久性单元捆绑包(在我的示例中为“Ecomm DAO Impl”)。
我为你的另一个问题指出了一个可能的解决方案,这也适用于这里。请参阅启动服务时的Jpa hibernate错误
无论如何,现在一定要远离Hibernate 4.3.x,因为aries jpa目前还不支持它。4.2.7应该可以。
Mybatis 和 Hibernate 各有各的优点吧,感觉用久了有点腻了。 查了一下,还有一种基于 JOOQ 的查询,像写 C# 的 LINQ 一样用 Java 来写 SQL,站内有一个介绍看了感觉还行 https://segmentfault.com/a/1190000045244062 所以 JOOQ、Hibernate、Mybatis Java 应该就是这三种 Dao Layer 的框架了
问题内容: 有一个结构。我想以这种方式链接这三个实体:公司应包含ID,公司名称和部门列表,每个部门都有一个工人列表,ID和部门名称。每个工人都有名字,身份证。 我试图与一对多和多对一建立联系,但未成功。 公司 部 工人 我从开始: 它填充公司,但不填充其他表,也没有创建任何联接(映射)错误: 问题答案: 除了Glenn Lane的答案中提到的级联,您还需要了解双向关联是如何工作的。 它们有一个所有
问题内容: 我知道这个问题在这里和整个互联网上已经被问过无数次了,我已经阅读了许多答案,但是我仍然不了解解决这个问题的正确方法。我正在尝试使用Spring MVC和JPA,并且每次访问延迟加载的属性时,都会得到LazyInitializationException。 这是我正在尝试的一些代码: 我正在访问的实体: 从DOI引用的实体 Spring MVC控制器: 我的Spring配置: 和堆栈跟踪
我正在以下网址关注Christian Schneider的Karaf /Database教程:http://www.liquid-reality.de/display/liquid/2012/01/13/Apache Karaf教程第6部分 - 数据库访问 我对本教程的更改是使用MySql和Hibernate而不是H2和OpenJpa。话虽如此,我让我的自定义捆绑包加载,但Hibernate无法使
问题内容: 阅读了 JPA 2.0 / Hibernate和“orphanRemoval”:仅替换一个实体并不会删除旧的实体和相关票据https://hibernate.atlassian.net/browse/HHH-6484,我推断这已经(最终是)已在4.2.7和4.3.0.CR1版中修复。 但是,尝试 哪里 仍然不会使Hibernate 为目标实体发出SQL语句。 那么,此问题是否已解决?如
问题内容: 我该怎么办,JPA(我使用Hibernate)创建具有无符号类型的列?目前,我所有的ID列均已签名。 问题答案: 使用注释上的属性即可。对要使用的SQL类型进行 全面 猜测: 注意: 并非所有数据库(我认为像SQL Server)都支持unsigned int类型。