草庐IT

Hibernate-Spatial

全部标签

java - Hibernate - 无法在 where 子句中使用 UserType 执行查询

我定义了一个HibernateUserType,用于在数据进入我们的数据库之前转换数据,然后在从数据库中读回数据时取消转换。当我使用行的ID或其他查询行的方式插入行或获取行时,这很有效。但是,当我尝试使用查询查找记录时,参数绑定(bind)似乎失败了:org.springframework.dao.InvalidDataAccessApiUsageException:Parametervalue[thisIsTheSearchString]didnotmatchexpectedtype[com.xxx.MyUserType(n/a)];nestedexceptionisjava.lan

java - hibernate 查询中缺少具有空值的行

我有两个带有外键引用的表:CommTABLE:+----+------------+|ID|NAME|+----+------------+|1|commname1||2|commname2||3|commname3|+----+------------+LOCATIONTABLE:-COMM_IDFKtoComm-->id+---------+------+-----+|COMM_ID|FORM|TO|+---------+------+-----+|1|720|721||1|725|||1||766||1||||2|766|225||3|766|222|+---------+---

java - 使用 Hibernate Criteria 过滤 Map 中的键和值

我有以下持久类:publicclassCode{@ElementCollection(targetClass=CodeValue.class)@MapKeyClass(CodeProperty.class)@JoinTable(name="code_properties")@CreateIfNull(value=false)privateMappropertiesMap=newHashMap();...}publicclassCodeProperty{privateStringname;...}publicclassCodeValue{privateStringvalue;...}我正

java - 绕过 Hibernate 中的 GeneratedValue

是否有可能在Hibernate中绕过ID的@GeneratedValue,我们有一种情况,大多数时候我们希望使用GeneratedValue设置ID,但在某些情况下希望手动设置ID。这可能吗? 最佳答案 我知道您可以在JPA规范中执行此操作,因此您应该能够在Hibernate中执行此操作(使用JPA+注释)。如果您只是填写正在创建的新持久模型的ID字段,那么当您将该模型“合并”到EntityManager中时,它将使用您设置的ID。不过,这确实会产生影响。您刚刚用完了该ID,但GeneratedValue注释指定的序列并不知道这一点

java - hibernate 中的 ColumnTransformer

我有一个实体,我使用ColumnTransformer来绑定(bind)和提取值:@EntityclassBPoint{@IdprivateIntegerid;@ColumnTransformer(read="astext(shape)",write="toshape(?)")privateShapeshape;}还有道:classBPointDao{@AutowiredprivateEntityManagerem;@OverridepublicPagefindAll(Pageablepageable){Queryq=em.createQuery("fromBPoint");Listr

java - 在 hibernate 统计中,加载和获取之间有什么区别

我主要看EntityStatics(http://www.hibernate.org/hib_docs/v3/api/org/hibernate/stat/EntityStatistics.html)。我可以看到很多获取、加载和更新,但我找不到任何地方说明它们之间的区别。 最佳答案 通过代码向后工作,获取计数器仅在从数据源(而不是任何缓存)检索实体时递增-protectedObjectloadFromDatasource(finalLoadEventevent,finalEntityPersisterpersister,finalE

java - 在 Web 应用程序中对 Hibernate 二级缓存使用 SingletonEhCacheRegionFactory 与 EhCacheRegionFactory 有什么含义?

在集成两个子系统时,我们被迫使用多个SessionFactory实例,这导致在与我们的Hibernate二级缓存(TerracottaEhCache)交互时出现问题。具体来说:for(CacheManagercm:CacheManager.ALL_CACHE_MANAGERS){LOGGER.log(Level.DEBUG,"Incm"+cm.getName());for(Stringcn:cm.getCacheNames()){LOGGER.log(Level.DEBUG,"Ihaveacachecalled"+cn);LOGGER.log(Level.DEBUG,"it'sstat

java - 在 Hibernate + Java 上性能较慢,但当我将 TOAD 与相同的 native Oracle 查询一起使用时性能很快

我检测到Oracle上的hibernate和native查询存在性能问题。当我在TOAD上执行带有多个参数的复杂SQL查询时,我得到了以毫秒为单位的结果。但是,当我使用Hibernate执行相同的查询时,这个时间会大幅增加(最多四秒甚至更多)。我的SQL查询相当复杂,返回一个唯一值(因此,问题与安装类所需的时间无关)并且它包含几个格式为“:nameParameter”的参数。此查询存储在一个字符串中。例如,StringmyNamedNativeQuery="selectcount(*)fromtables"+"wherecolumn1=:nameParameter1"+"andcolu

java - JPA 2/Hibernate 孤儿删除仍然无法与@OneToMany 一起使用?

我正在尝试在Hibernate4.3.5/JPA2对象中使用orphanRemoval,但它似乎没有像我预期的那样工作。但是,我不确定我是否做错了什么,或者这是否仍然是Hibernate中的错误。鉴于以下关系(@Version,为简洁起见省略了getter和setter):@EntitypublicclassProviderimplementsSerializable{@Id@GeneratedValue(strategy=GenerationType.AUTO)@Column(name="id")privateLongid;privateStringname;@OneToMany(o

java - Hibernate 在子类中映射第二个@Embeddable 字段

我正在尝试在子类中映射一个@Embeddable对象,该子类的父类已经具有该@Embeddable类型的字段。hibernateEmbeddableObjectsdocumentation声称我可以使用@AttributeOverrides来覆盖@Embeddable对象的列名:例如@EntitypublicclassPersonimplementsSerializable{//PersistentcomponentusingdefaultsAddresshomeAddress;@Embedded@AttributeOverrides({@AttributeOverride(name=