1.Student实体类如下:
@Builder
@NoArgsConstructor
@AllArgsConstructor
@Data
@Entity
@Table(name = "student", schema = "FOS")
public class Student implements Serializable {
@EmbeddedId
private StudentKey id;
@Column(name = "SEX")
private String sex;
@Column(name = "CREATE_TIME")
private LocalDateTime createTime;
@Column(name = "CREATE_BY")
private String createBy;
@Column(name = "UPDATE_TIME")
private LocalDateTime updateTime;
@Column(name = "UPDATE_BY")
private String updateBy;
}
2.StudentKey主键类如下:
@Builder
@NoArgsConstructor
@AllArgsConstructor
@Data
@Embeddable
public class StudentKey implements Serializable {
@Column(name = "NUMBER")
private String number;
@Column(name = "NAME")
private String name;
@Column(name = "AGE")
private Integer age;
}
3.根据主键number以及name查找学生信息方法:
public interface StudentRepository extends JpaRepository<Student, StudentKey> {
//根据number以及name查找学生信息
List<Student> findByIdNumberAndIdName(String number, String name);
}
模式就是:findById…AndId…(…就是主键类中的属性)