- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我生活在一场噩梦中,这是一场依赖噩梦;)
我正在测试一个使用 Hibernate 3 的 EJB 应用程序。
我部署它:
在 WebSphere 8(内置于 EAR 中的 EJB JAR)上,这是我想要的目标环境。 它在那里工作得很好。根据我们组织的标准,(Hibernate)依赖项是通过单独的过程来处理的。看来我在那里得到了以下 Hibernate 依赖项:
org.hibernate:hibernate-validator:3.1.0.ga
org.hibernate:hibernate-search:3.1.1.ga
org.hibernate:hibernate-entitymanager:3.4.0.ga
org.hibernate:hibernate-commons-annotations:3.1.0.ga
org.hibernate:hibernate-annotations:3.4.0.ga
org.hibernate:hibernate-c3p0:3.3.2.ga
*org.hibernate:hibernate-core:3.3.2.ga
*org.hibernate:hibernate-ehcache:3.3.2.ga
*org.hibernate:hibernate-jbosscache:3.3.2.ga
*org.hibernate:hibernate-jbosscache2:3.3.2.ga
*org.hibernate:hibernate-jmx:3.3.2.ga
*org.hibernate:hibernate-oscache:3.3.2.ga
*org.hibernate:hibernate-proxool:3.3.2.ga
*org.hibernate:hibernate-swarmcache:3.3.2.ga
*作为部署到嵌入式 JBOSS 7 ( jboss.as.jpa.managed=false
) 的 Arquillian 测试(EJB 作为收缩包装在 EAR 中的 JAR)。 它在那里不起作用。我尝试过各种依赖项集,但这是我确定需要的最小集:
org.hibernate:ejb3-persistence:jar:1.0.2.GA
org.hibernate:hibernate-annotations:jar:3.4.0.GA
org.hibernate.javax.persistence:hibernate-jpa-2.0-api:jar:1.0.1.Final
org.hibernate:hibernate-c3p0:3.3.2.ga
*org.hibernate:hibernate-core:3.3.2.ga
*org.hibernate:hibernate-ehcache:3.3.2.ga
*org.hibernate:hibernate-jbosscache:3.3.2.ga
*org.hibernate:hibernate-jbosscache2:3.3.2.ga
*org.hibernate:hibernate-jmx:3.3.2.ga
*org.hibernate:hibernate-oscache:3.3.2.ga
*org.hibernate:hibernate-proxool:3.3.2.ga
*org.hibernate:hibernate-swarmcache:3.3.2.ga
*这是我收到的错误:
java.lang.IllegalArgumentException: Parameter value element [INCLUDED] did not match expected type [org.hibernate.type.EnumType]
at org.hibernate.ejb.AbstractQueryImpl.validateCollectionValuedParameterMultiBinding(AbstractQueryImpl.java:385)
at org.hibernate.ejb.AbstractQueryImpl.validateParameterBinding(AbstractQueryImpl.java:363)
at org.hibernate.ejb.AbstractQueryImpl.registerParameterBinding(AbstractQueryImpl.java:343)
at org.hibernate.ejb.QueryImpl.setParameter(QueryImpl.java:370)
at org.hibernate.ejb.QueryImpl.setParameter(QueryImpl.java:67)
...
这是我正在执行的代码:
MyStatusEnum[] statuses = ...;
String queryString = "from MyEntity where statusCode in (:statuses)";
Query query = getEntityManager().createQuery(queryString);
query.setParameter("statuses", Arrays.asList(statuses));
实体字段如下所示:
@Column(name="STATUS_CD", nullable=false)
@Enumerated(EnumType.STRING)
public MyStatusEnum getStatusCode() ...
非常感谢您的帮助!
最佳答案
这个错误也发生在我身上,使用 Hibernate 5.2.14.Final。事实上,我怀疑这是由于与 Glassfish 4.x 内的一些其他依赖项和附加库的交互造成的。
我实现了绕过错误的解决方案,用属性转换器替换 @Enumerated(EnumType.STRING) (实现 javax.persistence.AttributeConverter)。
调整后您的映射将与此类似:
@Column(name="STATUS_CD", nullable=false)
@Convert(converter = MyStatusEnumConverter.class)
public MyStatusEnum getStatusCode() ...
有关在 JPA 中实现属性转换器的更多信息可以通过以下链接找到:https://www.thoughts-on-java.org/jpa-21-how-to-implement-type-converter/
关于java - 参数值元素[...]与预期类型[org.hibernate.type.EnumType]不匹配,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18792304/
我的灵感来自java.sql.SQLException: Data truncated for column 'gender' at row 1 for enum . 我有这个枚举 public en
有一个 hibernate 映射遗留数据库,我想使用 EnumTypes 将包含带空格的字符串常量的某些列映射到某个 Enum 类。 映射: @Entity @Table(name = "OPERAT
这里是 C# 新手。我正在浏览 MSDN,浏览 enum 方法,但我无法分辨 TEnum 和 enumType 之间的区别。 public static bool TryParse( string v
使用 Spring JPA 时,枚举值不会作为 EnumType.STRING 保留,而是作为子实体的 EnumType.ORDINAL 值保留 我的 Employee 实体具有名称、ENUM 字段和
如何为定义映射将设置为 enumType:'identity'? 在Grails 3.3中,enumType成为Enums with id的必需项(对于3.2,它无需任何其他定义即可工作)。 使用枚举
我正在开发 C# 应用程序并且我有以下枚举: public enum TourismItemType : int { Destination = 1, PointOfInteres
首先....我有一个这样的postgres函数: CREATE OR REPLACE FUNCTION auth.MyFunction ( platform autorizacion.e_tipo
这是我写的: public class JavaApplication4 { private RunMode runMode; private enum RunMode {
目前,我的项目使用@Enumerated(EnumType.ORDINAL),所以当我按此列排序时,它是根据枚举中的顺序排序的,这工作正常。但我需要向 enum 添加一些额外的值,这些值需要插入到枚举
我有一个 mysql 表,我在其中存储枚举字符串值。 我的模型有注释: @Enumerated(EnumType.STRING) 我的枚举看起来像: public enum SomeEnum {
我有以下映射: public enum JobType { CLEANER, CRAWLER, ... } public class JobId implements Seriali
(MySQL) 数据库中的评级列的类型为 ENUM('G','PG','PG-13','R','NC-17') (注意破折号)。这: @Entity @Table(name = "movies") p
假设我有一个具有以下字段的域对象: private Map maxValues = new HashMap(); StatType 是一个 Java 枚举。 我如何使用 JPA 映射它? 最佳答案 另
我正在尝试在 Spring MVC 中使用 Hibernate HQL 获取实体列表。查询如下所示: SELECT m FROM MyEntity m where property =:propert
当使用 DataContractSerializer 编写一个带有如下成员的 DataContract 时: [DataMember] public PropertyId PropId { g
我读过很多关于 objective-c 中枚举类型的文章,我发现有很多方法可以定义它们。但是我没有看到正确的方法(如果有的话)来定义一个可以用 CARS.ROLLSROYCE 调用并且不能在代码中仅与
我生活在一场噩梦中,这是一场依赖噩梦;) 我正在测试一个使用 Hibernate 3 的 EJB 应用程序。 我部署它: 在 WebSphere 8(内置于 EAR 中的 EJB JAR)上,这是我想
枚举, public enum CountEnum { ONE, TWO } 实体类, @Entity public class Test { ... @Enumerated(En
所以我一直在使用 Pay Simple SDK。我收到这个错误。有谁知道如何解决这个问题? var customerPayment = new NewCustomerPayment 所以我的模型在 P
我能够存储、检索和查询具有枚举类型的实体(使用 JPA/Hibernate)。枚举字段用 @Enumerated(EnumType.STRING) 注释。 是否可以执行类似 "SELECT a FRO
我是一名优秀的程序员,十分优秀!