Java 回复:我的sql从多个表中获取数据,逗号分隔

Java 回复:我的sql从多个表中获取数据,逗号分隔,java,mysql,spring,Java,Mysql,Spring,吴宇森的以下解决方案: "SELECT d.first_name, d.last_name, GROUP_CONCAT(s.name) AS `specializations` FROM doctors d INNER JOIN doctor_specialization ds ON d.id = ds.doctor_id INNER JOIN specializations

吴宇森的以下解决方案:

    "SELECT  d.first_name,
        d.last_name,
        GROUP_CONCAT(s.name) AS `specializations`
    FROM    doctors d
        INNER JOIN doctor_specialization ds
            ON d.id = ds.doctor_id
        INNER JOIN specializations s
            ON ds.specialization_id = s.id
     GROUP   BY d.first_name, d.last_name"
使用GROUP_CONCAT是可行的,但是当使用Spring的JDBC行映射器类将获得的结果集映射到模型类时,这将是无效的

模型类:- 1.java博士

        public class Doctor 
        {
           private int doctorid;
           private String firstname;
           private String middlename;
           private String lastname;
           private String servicesOffered;
           private String profStatement;
           private Date practicingFrom;
           private String consultingDays;
           private String consultingTime;
           private Set doctorSpecializations = new HashSet(0);
           private Set qualifications = new HashSet(0);
           //Getters & Setters;
        }
  • DoctorSpecialization.java
  • java

     public class Specialization 
     {
         private int id;
         private String specializationName;
         private Set doctorSpecializations = new HashSet(0);
         //Getters & Setters;
     }
    
  • Qualification.java

     public class Specialization 
     {
         private int id;
         private String specializationName;
         private Set doctorSpecializations = new HashSet(0);
         //Getters & Setters;
     }
    
  • 如何使用Spring的JDBC RowMapper类将获得的结果集映射到模型类中,从而获得上述期望的结果? 提前谢谢

    public class Qualification 
    {
        private int id;
        private Doctor doctor;
        private String qualificationName;
        private String instituteName;
        private Date procurementYear;
        //Getters & Setters;
    }