想請問在ORM的框架中,是怎麼做one to many,many to many這些關聯轉成List的?
ex: 假設我有這樣的資料
我會希望轉成物件後會變成像這樣:
class Teacher{
  
  private String id;
  private String name;
  private String age;
  private List<Student> students;
}
class Student{
  
    private String name;
}
我知道許多ORM框架可以做到,但現在遇到的環境無法使用ORM,必須手動做這部分,
有前輩可以指點一下嗎,不知道怎麼下手比較好
這是python的code
orm
class Author(models.Model):
    name = models.CharField(max_length=20)
class Book(models.Model):
    name = models.CharField(max_length=20)
    author = models.ManyToManyField("Author")
會產生3張表
book、author、book_author
book
id|name
1 |java
2 |python
author
id|name
1 |aaa
2 |bbb
book_author
book_id|author_id
1      |1
1      |2
2      |2
程式端那段不知道怎麼轉會比較好
假設我要選取java這本書的作者,從book_author去延伸:
select book.name as book_name, author.name as author
from book_author
join author on author_id = author.id
join book on book_id = book.id
where book_author.book_id = (
  select id
  from book
  where book.name = 'java'
) 
另外還有個作弊辦法,在其他地方寫orm去生成raw sql然後直接貼到程式裡。
然後1對多就直接join或子查詢就好了,比較沒那麼麻煩,要多一張表。