问题标签 [hibernate-4.x]

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 回答
33 浏览

join - 将许多表加入到地图中

我有 3 个表:用户、角色、项目。此外,我创建了一个将它们链接在一起的表,其结构如下:id、id_user、id_role、id_project。我想在用户类中使用注释创建一个地图:Map <Project, Role>

这可能吗?

0 投票
3 回答
3297 浏览

java - 文件配置 Hibernate 4 和 spring 3

我从 spring 3 hibernate 4 开始使用新技术,并尝试从教程中执行以下示例。每次我得到同样的错误。我使用 Spring 3.1.1 Hibernate 4.1.0。

这是消息,我不明白:

处理 XML 'org/springframework/transaction/interceptor/TransactionInterceptor' 时发生错误。有关详细信息,请参阅错误日志

处理“/Hibernate_spring/src/application_configuration.xml”时发生错误

0 投票
2 回答
923 浏览

java - 如何在 Java 6 上将 Hibernate bean 属性标记为 @Transient?

我有一个应用程序被迫托管在仅运行 JRE 6 的提供程序上。

我的 Hibernate bean 上出现编译错误,这些 bean 的属性已用@Transient. java.beans.Transient编译错误是由于Java 7 中引入的事实造成的。

有没有办法在没有此注释的情况下将 Hibernate 属性标记为瞬态?最好不必完全迁移到*.hbm.xml并完全放弃注释?是否有可能以某种方式将此注释接口添加到 JRE 6 的类路径中?

如果您想指出这在 Java 6 上是不可能的,并且我应该切换托管服务提供商,那么请将此作为评论发布,说明这将被否决的答案。

0 投票
2 回答
557 浏览

java - 调用 SQL 创建函数时我的条件查询出现问题

在我的Postgres 9.1 数据库中,我有一个由ORM ( Hibernate ) 在以下类li中映射的表: package ab; @Entity @Table(name = "li", schema = "public") @TypeDef(name="inet", typeClass=InetType.class) public class Li {Li

现在,为了能够为Li实体类创建条件查询,我创建了它的元模型:

因为我需要在li从字段中提取的小时后搜索表requestDate,所以我创建了以下postgres函数:

到目前为止,一切都经过测试并且效果很好。所以我开始创建我的标准:

当我运行上面的代码时,出现以下错误:

当然,该错误来自该行:

有人可以帮我解决这个问题吗?

0 投票
1 回答
1489 浏览

java - Hibernate Validation 和 Spring 控制器的一项事务

我正在尝试为 Rest API 实现注册控制器。我已经阅读了很多关于在哪里放置@Transactional 的信息。(不是在 DAO 级别,而是在服务上可能是精心编排的)。在我的用例中,我不仅想要服务,还想要使用相同事务的休眠验证。

这是控制器的代码:

我编写了一个自定义约束注释,它验证参数 registerIO 的属性。这个验证器和 userService.register(registerIO); 访问数据库(检查电子邮件地址是否已被使用)。

因此,我希望这两种方法都使用相同的 Hibernate 会话和事务。

这种方法会导致以下异常:

问题是@Transactional 注释。当我将此注释放在调用数据库的方法中时,一切正常,但有两个事务是启动的。我怀疑当我将它放在 register Method 中时,会在 @Transactional 启动此方法的事务之前执行休眠验证。

我开发了以下功能性解决方法,但我对此并不满意。此代码不使用 @Valid 注释,而是自行调用验证器:

我试着总结一下我的问题:使用 Spring MVC 和 Hibernate-Validation 以及 @Valid 和 @Transactional,如何将整个请求封装到一个事务中?

谢谢 :)

0 投票
0 回答
473 浏览

nullpointerexception - Hibernates-4.2 -Initial SessionFactory 创建失败.java.lang.ExceptionInInitializerError cCSCDDDBConnector.sendQuery.173

下面是我的 Java 文件中的代码片段,但是在打印 label:1 之后,它给了我异常。

在标签之后在 Hibernates 中创建配置对象之前出现以下错误:1 Initial SessionFactory creation failed.java.lang.ExceptionInInitializerError cCSCDDDBConnector.sendQuery.173

java.lang.NullPointerException 在 org.hibernate.cfg.Environment.(Environment.java:221) 在 org.hibernate.cfg.Configuration.reset 在 org.hibernate.internal.util.ConfigHelper.getResourceAsStream(ConfigHelper.java:170) (Configuration.java:300) 在 org.hibernate.cfg.Configuration.(Configuration.java:266) 在 org.hibernate.cfg.Configuration.(Configuration.java:270) 在 sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method ) 在 sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) 在 sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) 在 java.lang.reflect.Method.invoke(Method.java:597) 在 sun .rmi.server.UnicastServerRef.dispatch(UnicastServerRef.java:305) 在 sun.rmi.transport.Transport$1.run(Transport.java:159) 在 sun.rmi.transport.Transport.serviceCall(Transport.java:155) 在 sun.rmi.transport.tcp.TCPTransport.handleMessages(TCPTransport.java:535) 的 java.security.AccessController.doPrivileged(Native Method)在 sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run0(TCPTransport.java:790) 在 sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run(TCPTransport.java:649) 在 java.util.concurrent.ThreadPoolExecutor $Worker.runTask(ThreadPoolExecutor.java:886) 在 java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908) 在 java.lang.Thread.run(Thread.java:619)handleMessages(TCPTransport.java:535) 在 sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run0(TCPTransport.java:790) 在 sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run(TCPTransport.java:649)在 java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886) 在 java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908) 在 java.lang.Thread.run(Thread.java :619)handleMessages(TCPTransport.java:535) 在 sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run0(TCPTransport.java:790) 在 sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run(TCPTransport.java:649)在 java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886) 在 java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908) 在 java.lang.Thread.run(Thread.java :619)线程运行(线程.java:619)线程运行(线程.java:619)

任何人都可以帮我解决这个问题吗?

0 投票
1 回答
2380 浏览

hibernate - ServiceRegistryBuilder 不能转换为 org.hibernate.service.ServiceRegistry

我正在创建一个简单的 struts2 hibernate4 集成应用程序一些类转换问题。我在互联网上搜索,甚至在这个网站上也搜索过,但我找不到我的问题的确切解决方案。请让我知道如何解决这个问题我是休眠的新手

堆栈跟踪是

我的实体类是 包模型;

连接工厂类是

Empdao 类是

0 投票
1 回答
1581 浏览

java - 使用 Struts 2 和 Hibernate 在数据库中插入空值

我正在使用 Struts 2 和 Hibernate 集成应用程序在数据库中插入值。但是在从表单字段中插入值之后,只有null值会保存在数据库中。

这是我的表单 JSP 文件:

employee.jsp

实体类Empmodel.java

Connectionfactory.java

Empdao是:

Action类是:

0 投票
1 回答
4509 浏览

maven - 在 dropwizard-hibernate 中生成模式

我按照dropwizard和hibernate的教程没有问题。现在我的实体中有重要的注释,我希望 hibernate 为我生成表,以及类似的东西。那么,我怎样才能改变hibernate的配置呢?我可以给它一个hibernate.cfg.xml吗?如果可以,我是否必须重新建立连接?

我找到了这个PR,但它似乎还没有公开发布(我的罐子里没有 hibernateBundle.configure )

但也许我正在寻找错误的东西。到目前为止,我只是想设置 hibernate.hbm2dll.auto。毕竟,可能还有其他方法可以在 Dropwizard 中启用休眠表生成……那么,有什么帮助吗?

谢谢你。


编辑:我从另一个角度解决了这个问题,明确地创建模式而不是使用 hbm2ddl.auto。请参阅建议的答案。

0 投票
1 回答
13986 浏览

spring-mvc - Spring 3,带有通用 DAO 的 Hibernate 4 AutoWired sessionFactory

使用 Spring MVC 3 & Hibernate 4 我得到:

这是相关的弹簧配置:

通用 DAO:

账户DAO:

MVC 控制器:

我已经通过 StackOverflow 和 Google 进行了搜索,但找不到任何有帮助的东西。我试过在 DAOImpl.save(T t) 上使用事务,但它仍然存在同样的问题。