草庐IT

Hibernate

全部标签

java - SQL 错误 : 0, SQLState:08006

我有一个带有hibernate连接的Web应用程序。应用程序正在连接到PostgreSQL数据库。有时我在日志中遇到以下异常。Causedby:**org.postgresql.util.PSQLException:AnI/Oerroroccuredwhilesendingtothebackend.**atorg.postgresql.core.v3.QueryExecutorImpl.execute(QueryExecutorImpl.java:283)atorg.postgresql.jdbc2.AbstractJdbc2Statement.execute(AbstractJdbc

java - 是否有将 PostgreSQL hstore 转换为 JPA 2.1 DataType 的优雅且通用的方法?

我用过JPA2.1Converter转换PostgreSQLhstore至Map.但是我没有找到适用于不同JPA提供程序(例如EclipseLink和Hibernate)的通用方法。所以我需要为每个JPA提供程序编写不同的转换器。以下是为EclipseLink和Hibernate使用不同转换器的示例。https://github.com/phstudy/jpa-converter-sample是否有适用于不同JPA提供程序的通用方法? 最佳答案 PostgreSQLJDBC驱动程序提供了一个org.postgresql.util.H

java - hibernate 只更新部分字段

关闭。这个问题需要detailsorclarity.它目前不接受答案。想改进这个问题吗?通过editingthispost添加细节并澄清问题.关闭8年前。Improvethisquestion在某些情况下,我只想更新一个列,但我不想从数据库中获取对象,我只有它的ID和我想要更新的值。由于其他值为空,hibernate更新为空。我想知道从更新中删除其他列的一些标准。我读到了有关dynamic-update=true的内容,它只排除了未修改的属性。但是在我更新时空值仍然存在。有人知道吗?谢谢!菲利普

java - 使用 JPA 注释映射 java.util.Map 时,键和值列名称会被覆盖

我正在研究使用Hibernate4.1.9和JPA注释对map进行注释的不同方式。如果我想存储一个Map,其中键是实体值的一个属性,标记看起来像这样@OneToMany(mappedBy="deptById",targetEntity=com.demo.impls.Employee.class)@MapKey(name="entityId")privateMapemployeesById;请注意,上面的标记不会创建连接表,但Map是在运行时通过查询返回的,因此Map是动态的,您不必在Java中将元素添加到map中即可返回通过查询。现在我希望Map的内容反射(reflect)应用程序添加

java - 如何将包含单引号的字符串保存到 PostgreSQL 中的文本列

我在Smartwcmweb应用程序SDK中使用hibernate和PostgreSQL作为数据库。我在其中一个表中有一个字段,它的数据类型是文本。当我尝试使用相应的POJO使用hibernate将值插入表中时,如果我尝试保存到数据库中的字符串包含',则会抛出异常。异常信息是:Requestprocessingfailed;nestedexceptionisorg.springframework.dao.InvalidDataAccessResourceUsageException:CouldnotexecuteJDBCbatchupdate;SQL[updatepublic.slide

java - Hibernate 检查注解

我有一个包含三个字段的表,比如a、b、c。我想添加一个约束,确保如果a不为空,则b和c也不为空。我已经使用以下SQL完成了该操作ALTERTABLEsampleADDCONSTRAINTno_nullsCHECK(CASEWHENaISNOTNULLTHENbISNOTNULLANDcISNOTNULLEND)有没有办法使用hibernate注解@Check达到同样的效果?我找不到带有该注解的有用示例,开发人员是否倾向于根本不使用它? 最佳答案 是的,如果像这样在类级别使用@Check是可能的:@Entity@Check(const

Java Hibernate Bug 参数绑定(bind)错误

我有这个简单的Hibernate代码。publicListbug(){//SimpleCriteriafinalCriterioneq=and(Restrictions.eq("fdl","N"),Restrictions.eq("cid",1),Restrictions.eq("did",2));returncurrentSession().createCriteria(Student.class).createAlias("school","s",JoinType.INNER_JOIN,Restrictions.eq("zipCode",1764)).createAlias("ad

java - Hibernate prepareConnection/preparedStatement 问题

在我们的项目中,我们已将Spring更新为4.3.14.RELEASE,将Hibernate更新为4.3.11.Final,因为我们开始看到两个警告:WARNJDBCConnectiontoresetnotidenticaltooriginallypreparedConnection-pleasemakesuretouseconnectionreleasemodeON_CLOSE(thedefault)andtorunagainstHibernate4.2+(orswitchHibernateJpaDialect'sprepareConnectionflagtofalse解决方法是将R

java - 在 JBoss 4.2 上使用 JPA 启用 Hibernate 二级缓存

在使用JavaPersistenceAPI(注释实体)时,启用Hibernate的二级缓存需要哪些步骤?我如何检查它是否正常工作?我正在使用JBoss4.2.2.GA。从Hibernate文档来看,我似乎需要启用缓存并在persistence.xml中指定一个缓存提供程序,例如:还需要什么?我是否需要向我的JPA实体添加@Cache注释?如何判断缓存是否正常工作?我尝试在运行查询后访问缓存统计信息,但Statistics.getSecondLevelCacheStatistics返回null,可能是因为我不知道要使用什么“区域”名称。 最佳答案

java - 具有大量实体的 Ehcache/Hibernate 和 RMI 复制

我目前正在研究如何在ehcache中使用RMI分发选项。我已经正确配置了ehcache.xml并且复制似乎工作正常。但是我有两个问题:->似乎ehcache/hibernate为每个实体创建了1个缓存。这很好,但是当复制到位时,它会创建1个线程/缓存来复制。这是预期的行为吗?由于我们的域很大,它创建了大约300个线程,这在我看来确实很大->另一个令人讨厌的后果是心跳消息似乎聚合了所有这些缓存名称。据我所见,该消息应适合1500字节,但事实并非如此,这导致我的日志中出现以下消息:Heartbeatisnotworking。为复制配置更少的缓存。大小为1747,但不应大于1500。关于如何