У меня есть студент , который сдает экзамены определенной темы . Субъект может иметь несколько экзаменов, но рассматриваются только последние экзамены. Считается, что студент проходит, если он сдал последний экзамен по всем своим предметам. /p>
Сущности sqlalchemy написаны так.
SELECT student_name,
subject_name,
exam_passed,
FROM (
SELECT student.name student_name,
subject.name subject_name,
exam.passed exam_passed,
max(exam.completed_at) completed_at,
FROM exam
JOIN student ON exam.student_idx = student.idx
JOIN subject ON exam.subject_idx = subject.idx
GROUP BY exam.student_idx, exam.subject_idx
)
< /code>
Это реализовано в Sqlalchemy, как SO SO. Я могу убедиться, что SQL, отображаемый SQL Alchemy, является правильным. @classmethod
@latest_exams.inplace.expression
def latest_exams(cls):
stmt = (
select(Exam, func.max(Exam.completed_at))
.join(Student)
.group_by(Exam.student_idx, Exam.subject_idx)
)
subq = stmt.subquery()
return subq
< /code>
Я могу запросить, используя следующее: < /p>
stmt = select(Student.latest_exams).join(Student).filter_by(name='Joe Bloggs')
with _Session() as s:
results = s.execute(stmt)
for result in results.scalars():
print(result)
< /code>
Но выполненный оператор возвращает только первичный ключ. Из того, что я могу сказать, это может быть связано с использованием скалярных
, но в других случаях Scalars возвращает объект ORM. Почему это здесь не делает?
У меня есть студент , который сдает экзамены определенной темы . Субъект может иметь несколько экзаменов, но рассматриваются только последние экзамены. Считается, что студент проходит, если он сдал последний экзамен по всем своим предметам. /p> Сущности sqlalchemy написаны так.[code]from sqlalchemy import select, func, ForeignKey, create_engine, Table, Column from sqlalchemy.ext.hybrid import hybrid_property from sqlalchemy.orm import Mapped, mapped_column, relationship, sessionmaker, DeclarativeBase, registry
completed_at: Mapped[datetime] = mapped_column(default_factory=datetime.now) < /code> У меня есть SQL -запрос, который успешно сдает последние экзамены, которые сдал студент. Вы можете отфильтровать для конкретного имени студента с предложением WHED [/code].[code]SELECT student_name, subject_name, exam_passed, FROM ( SELECT student.name student_name, subject.name subject_name, exam.passed exam_passed, max(exam.completed_at) completed_at, FROM exam JOIN student ON exam.student_idx = student.idx JOIN subject ON exam.subject_idx = subject.idx GROUP BY exam.student_idx, exam.subject_idx ) < /code> Это реализовано в Sqlalchemy, как SO SO. Я могу убедиться, что SQL, отображаемый SQL Alchemy, является правильным. @classmethod @latest_exams.inplace.expression def latest_exams(cls): stmt = ( select(Exam, func.max(Exam.completed_at)) .join(Student) .group_by(Exam.student_idx, Exam.subject_idx) ) subq = stmt.subquery() return subq < /code> Я могу запросить, используя следующее: < /p> stmt = select(Student.latest_exams).join(Student).filter_by(name='Joe Bloggs')
with _Session() as s: results = s.execute(stmt)
for result in results.scalars(): print(result) < /code> Но выполненный оператор возвращает только первичный ключ. Из того, что я могу сказать, это может быть связано с использованием скалярных [/code], но в других случаях Scalars возвращает объект ORM. Почему это здесь не делает?
У меня есть студент , который сдает экзамены определенной темы . Субъект может иметь несколько экзаменов, но рассматриваются только последние экзамены. Считается, что студент проходит, если он сдал последний экзамен по всем своим предметам. /p>...
У меня есть студент , который сдает экзамены определенной темы . Субъект может иметь несколько экзаменов, но рассматриваются только последние экзамены. Считается, что студент проходит, если он сдал последний экзамен по всем своим предметам. /p>...
У меня есть MedicalNote, ссылающийся на идентификаторы врача и пациента, и у меня есть атрибут даты. Все они составляют первичный ключ для MedicalNote. MedicalNote и Доктор, и Пациент имеют двунаправленное отношение один ко многим. Я хочу убедиться,...
Я использую SpringBoot, JPA и Hibernate.
У меня есть сомнения.
Для моих объектов мне нужен UUID как первичный ключ (и я хотел бы сохранить этот идентификатор в «чистом режиме» (строка), а не в двоичном виде)
Я использую этот код:
@Id
@Column(name =...