Kotlin value class 를 사용하려면 어떻게 해야할까요?
@Entity
class User(
@Id
@GeneratedValue(strategy = GenerationType.AUTO)
val id: UserId = UserId(0),
)
@JvmInline
value class UserId(private val value: Long)
@Service
class UserService(
private val jpqlRenderContext: JpqlRenderContext,
private val entityManager: EntityManager,
) {
fun findById(userId: UserId): User? {
val query = jpql {
select(
entity(User::class)
).from(
entity(User::class),
).where(
path(User::id).equal(userId)
)
}
return entityManager.createQuery(query, jpqlRenderContext).apply { maxResults = 1 }.resultList.firstOrNull()
}
}JpqlValue용 커스텀 JpqlSerializer
custom method 사용
DTO Projection 시 주의사항
Last updated