【发布时间】:2021-04-09 17:00:03
【问题描述】:
我已经看到了一些相关的问题,但我似乎无法为我正在尝试做的事情找到正确的答案。 我有两张表 Jobs 和 Workers,一个job可以有很多workers,简化实体
@Entity
@Table(name = "jobs")
data class Job(
@Id
@Type(type = "pg-uuid")
val id: UUID = UUID.randomUUID()
) {
@ManyToOne
var office: Office? = null
@OneToMany(targetEntity = Worker::class)
var requests: MutableList<Worker> = mutableListOf()
}
我希望能够获取特定工作人员的工作列表
我已经尝试了一些原生查询,但现在尝试只通过 namedMethods 来完成,老实说,我想这里的任何工作似乎都应该在我的工作存储库中工作
@Repository
interface JobsRepo : CrudRepository<Job, UUID> {
@Query("SELECT j FROM Job j WHERE id = ?1")
fun findJobById(id: UUID): Job?
@Query("SELECT j FROM Job j WHERE office_id = ?1")
fun findJobsByOffice(id: UUID): List<Job>?
@Modifying
@Transactional
@Query("UPDATE jobs SET job_status = 4 WHERE job_status = 1 AND start_time < ?1", nativeQuery = true)
fun expireJobs(date: Date)
fun findByRequests_Worker(worker: Worker): List<Job>?
}
我不太确定如何查询数组属性
requests
在一名工人的投入下。我也尝试查询工作人员的 UUID,因为那是连接表中的内容
JPA 创建一个包含两个外键的连接表
jobs_requests
和列
job_id UUID
requests_id UUID
【问题讨论】:
-
您能否向我们展示您的实体及其关系的数据库映射?
-
你的数据库脚本呢?
-
没有数据库脚本 hiberante 正在做这一切
标签: spring spring-boot spring-data-jpa spring-data