sql – 如何在Hibernate中使用数组字段制作条件
发布时间:2020-12-12 06:34:12 所属栏目:MsSql教程 来源:网络整理
导读:我正在使用Hibernate和Postgres并定义了一个字符(1)[]列类型. 所以我不知道如何使这个条件在数组中找到一个值. 喜欢这个查询 SELECT * FROM cpfbloqueado WHERE bloqueados @ ARRAY['V']::character[] 解决方法 我不熟悉Postgres及其类型,但您可以使用 custom
我正在使用Hibernate和Postgres并定义了一个字符(1)[]列类型.
所以我不知道如何使这个条件在数组中找到一个值. 喜欢这个查询 SELECT * FROM cpfbloqueado WHERE bloqueados @> ARRAY['V']::character[] 解决方法我不熟悉Postgres及其类型,但您可以使用 custom basic type mapping定义自己的类型.这可以简化查询.关于Postres数组类型和Hibernate,在SO上有很多线程,例如,this one.另一个可能有用的数组映射示例is here.最后,here is an example使用Criteria和用户类型. 代码示例可以是 List result = session.createCriteria(Cpfbloqueado.class) .setProjection(Projections.projectionList() .add(Projections.property("characterColumn.attribute"),PostgresCharArrayType.class) ) .setResultTransformer(Transformer.aliasToBean(Cpfbloqueado.class)) .add(...) // add where restrictions here .list() 此外,如果它对实现不重要,您可以在实体模型中定义最大长度,使用@Column(length = 1)注释您的字段. 或者,如果您需要存储长度为1的字符数组,则可以使用collection type. 我希望我能说得对,但是,如果更好地描述问题域,那将会很好. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |