现在有question表,paper表paper_question表,hibernate查询出question表和paper表
的ID,循环插入到paper_question表中,请问各位大神该怎么做,希望可以写出代码
@Entity
data class Question(
@Id
@GeneratedValue
var id: Long? = null
)
interface QuestionRepository: CrudRepository<Question, Long>
@Entity
data class Paper(
@Id
@GeneratedValue
var id: Long? = null
)
interface PaperRepository: CrudRepository<Paper, Long>
@Entity
data class PaperQuestion(
@Id
@GeneratedValue
var id: Long? = null,
@ManyToOne
@JoinColumn(name="paper_id")
val paper: Paper,
@ManyToOne
@JoinColumn(name = "question_id")
val question: Question
)
interface PaperQuestionRepository: CrudRepository<PaperQuestion, Long>
@Service
class TestService(
val paperQuestionRepository:PaperQuestionRepository,
val paperRepository:PaperRepository,
val questionRepository: QuestionRepository
){
fun test(){
val papers = paperQuestionRepository.findAll()
val questions = paperQuestionRepository.findAll()
val paperQuestions = mutableListOf<PaperQuestion>()
papers.forEach{ paper ->
questions.forEach{ question ->
paperQuestions.add(PaperQuestion(paper=paper,question=question))
}
}
paperQuestionRepository.save(paperQuestions)
}
}
@SpringBootApplication
class Application
fun main(args: Array<String>){
SpringApplication.run(Application::class.java, *args)
}
用的springboot 和jpa规范,spring-data-jpa作为dao层实现,然后语言是和java差不多的kotlin,只是为了写起来简单点,少写些public getter/setter什么的,
用java写逻辑也是那样,hibernate作为jpa的实现,也是可以直接使用jpa的规范的