cashapp / misk

Microservice Kontainer

Home Page:https://cashapp.github.io/misk/

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Database tab: Support encrypted Misk Hibernate columns

adrw opened this issue · comments

Attempt to query on an encrypted column throws exception.

java.lang.IllegalArgumentException: Unable to locate Attribute  with the the given name [address] on this ManagedType [com.squareup.cash.cashidv.models.attempts.DbIdvAttempt]
	at org.hibernate.metamodel.model.domain.internal.AbstractManagedType.checkNotNull(AbstractManagedType.java:147)
	at org.hibernate.metamodel.model.domain.internal.AbstractManagedType.getAttribute(AbstractManagedType.java:118)
	at org.hibernate.metamodel.model.domain.internal.AbstractManagedType.getAttribute(AbstractManagedType.java:43)
	at org.hibernate.query.criteria.internal.path.AbstractFromImpl.locateAttributeInternal(AbstractFromImpl.java:111)
	at org.hibernate.query.criteria.internal.path.AbstractPathImpl.locateAttribute(AbstractPathImpl.java:204)
	at org.hibernate.query.criteria.internal.path.AbstractPathImpl.get(AbstractPathImpl.java:177)
	at misk.hibernate.ReflectionQueryFactoryKt.traverse(ReflectionQueryFactory.kt:859)
	at misk.hibernate.ReflectionQueryFactoryKt.access$traverse(ReflectionQueryFactory.kt:1)
	at misk.hibernate.ReflectionQuery$select$1.invoke(ReflectionQueryFactory.kt:228)
	at misk.hibernate.ReflectionQuery$select$1.invoke(ReflectionQueryFactory.kt:37)
	at misk.hibernate.ReflectionQuery.select(ReflectionQueryFactory.kt:250)
	at misk.hibernate.ReflectionQuery.select(ReflectionQueryFactory.kt:226)
	at misk.hibernate.ReflectionQuery.dynamicList(ReflectionQueryFactory.kt:210)
	at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
	at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
	at java.base/java.lang.reflect.Method.invoke(Method.java:566)
	at misk.hibernate.ReflectionQuery.invoke(ReflectionQueryFactory.kt:351)
	at com.sun.proxy.$Proxy149.dynamicList(Unknown Source)
	at misk.hibernate.actions.HibernateDatabaseQueryStaticAction.runStaticQuery(HibernateDatabaseQueryStaticAction.kt:99)
	at misk.hibernate.actions.HibernateDatabaseQueryStaticAction.access$runStaticQuery(HibernateDatabaseQueryStaticAction.kt:36)
	at misk.hibernate.actions.HibernateDatabaseQueryStaticAction$runStaticQuery$1.invoke(HibernateDatabaseQueryStaticAction.kt:72)
	at misk.hibernate.actions.HibernateDatabaseQueryStaticAction$runStaticQuery$1.invoke(HibernateDatabaseQueryStaticAction.kt:36)
	at misk.hibernate.RealTransacter$transactionInternalSession$1$1.invoke(RealTransacter.kt:228)
	at misk.hibernate.RealTransacter$RealSession.target$misk_hibernate(RealTransacter.kt:512)
	at misk.hibernate.RealTransacter$transactionInternalSession$1.invoke(RealTransacter.kt:225)
	at misk.hibernate.RealTransacter$transactionInternalSession$1.invoke(RealTransacter.kt:44)
	at misk.hibernate.RealTransacter.withSession(RealTransacter.kt:349)
	at misk.hibernate.RealTransacter.withSession$default(RealTransacter.kt:331)
	at misk.hibernate.RealTransacter.transactionInternalSession(RealTransacter.kt:224)
	at misk.hibernate.RealTransacter.access$transactionInternalSession(RealTransacter.kt:44)
	at misk.hibernate.RealTransacter$transaction$1.invoke(RealTransacter.kt:142)
	at misk.hibernate.RealTransacter.transactionWithRetriesInternal(RealTransacter.kt:179)
	at misk.hibernate.RealTransacter.transaction(RealTransacter.kt:141)
	at misk.hibernate.actions.HibernateDatabaseQueryStaticAction.runStaticQuery(HibernateDatabaseQueryStaticAction.kt:71)
	at misk.hibernate.actions.HibernateDatabaseQueryStaticAction.query(HibernateDatabaseQueryStaticAction.kt:58)
	at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
	at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
	at java.base/java.lang.reflect.Method.invoke(Method.java:566)
	at kotlin.reflect.jvm.internal.calls.CallerImpl$Method.callMethod(CallerImpl.kt:97)
	at kotlin.reflect.jvm.internal.calls.CallerImpl$Method$Instance.call(CallerImpl.kt:113)
	at kotlin.reflect.jvm.internal.KCallableImpl.call(KCallableImpl.kt:108)
	at kotlin.reflect.jvm.internal.KCallableImpl.callDefaultMethod$kotlin_reflection(KCallableImpl.kt:159)
	at kotlin.reflect.jvm.internal.KCallableImpl.callBy(KCallableImpl.kt:112)
	at misk.web.actions.WebActionsKt$asChain$callFunctionInterceptor$1.intercept(WebActions.kt:28)
	at misk.web.RealChain.proceed(RealChain.kt:19)
	at misk.security.authz.AccessInterceptor.intercept(AccessInterceptor.kt:27)