我有活动和锻炼表,其中锻炼是父母,活动是孩子,这意味着每个锻炼包含一个或多个活动。
ACTIVITY_ID
命名
距离
workout_id
命名
START_TIME
activity_ids varchar(200) - 此列包含逗号分隔的字符串值(1,2,3 ...)
我使用Spring-JDBC作为DAO层,每个表都有DAO类(ActivityDAO和WorkoutDAO)。我想知道在哪个DAO中需要放置代码以在一个查询中检索锻炼及其活动,因为WorkoutDAO不包含用于构建活动对象的RowMapper,反之亦然。谁能帮助我做最好的方法呢?
答案 0 :(得分:1)
请勿将逗号分隔的字符串存储在activity_ids
表的workout
列中。
相反,创建另一个名为WorkoutActivityMapping
的表,每个工作者都有一行到活动映射。示例模式:
workout_activity_mapping_id
- 可选workout_id
activity_id
在@OneToMany
DAO POJO中将其定义为Worker
映射。
我相信您可以使用上面的提示找出剩余的细节。