Spring Data – JavaStudy tutorial
Миссией Spring DATA является предоставление единой модели программирования с использованием Spring для доступа к данным, сохраняя при этом специальные черты базового хранилища.
Фреймворк позволяет облегчить использование технологий доступа к данным, реляционных и не реляционных баз данных, облачных баз данных. Spring DATA — базовый проект, который включает множество других подпроектов, которые работают с конкретными базами данных.
Общий раздел Spring Data JPA
- Cтатьи по Spring Data JPA
Java Persistence API (JPA)
Спецификация JPA 2.1 была выпущена 22 апреля 2013 года. Входит в J2EE и является стандартом доступа к данным в JAVA. Поддерживает большинство популярных поставщиков службы постоянства, например Hibernate.
Описание и основные возможности JPA
- JPA — пример приложения Hello World. Настройка использования Spring + JPA + Hibernate. Часть 1 — Описание стандарта Java Persistence API (JPA)
- JPA — пример приложения Hello World.
Настройка использования Spring + JPA + Hibernate. Часть 2
Создание запросов в JPA, использование Java Persistence Query Language (JPQL)
- JPA — создание нетипизированных запросов и запросов со специальным типом
- JPA – операции INSERT, UPDATE, DELETE. Примеры запросов вставки, удаления, обновления на JPQL
- JPA – создание собственного запроса на чистом SQL
Создание запросов с использованием API-интерфейса критериев JPA 2
- JPA – запрос с критерием. Использование API-интерфейса критериев JPA 2
Spring DATA JPA
Базовые настройки для запуска приложения с использованием Spring Data JPA
- Spring Data JPA – пример приложения Hello World. Настройки Spring Data + JPA + Hibernate + MySQL.
Аудит изменений в классе сущности в Spring Data JPA
- Spring Data JPA – отслеживание изменений в сущностном классе (Spring Data JPA Auditing)
Spring Data JPA + Hibernate Envers
- Spring Data JPA Auditing + Hibernate Envers – аудит изменения записи и сохранение ее версий
Вопросы для прохождения интервью на позицию Java разработчик
- Собеседование по Java EE — Spring Framework (вопросы и ответы).
Часть 1
- Собеседование по Java EE — Spring Framework (вопросы и ответы). Часть 2
Официальная документация
Spring Data JPA — Reference Documentation
Полезные ссылки
JPA и Hibernate в вопросах и ответах (хабр)
Java Persistence Wiki
Распространенные ошибки
- Exception in thread «main» org.hibernate.LazyInitializationException: failed to lazily initialize a collection of role: — ошибка при попытке доступа к связанным таблицам
- java.lang.AbstractMethodError: org.joda.time.contrib.hibernate.PersistentDateTime.nullSafeGet — использование JodaTime в Hibernate
- org.hibernate.id.IdentifierGenerationException: ids for this class must be manually assigned before calling save(): — ошибка создания id
- org.hibernate.PropertyValueException: not-null property references a null or transient value : — ошибка записи переменной
- MySQLIntegrityConstraintViolationException: Cannot add or update a child row: a foreign key constraint fails — ошибка обращения к ключу первой таблицы из дочерней (foreign key FK_ID = id(null) )
- javax.
persistence.PersistenceException: No Persistence provider for EntityManager named — ошибка при создании EntityManagerFactory
- org.hibernate.PersistentObjectException: detached entity passed to persist
19914 Total Views 1 Views Today
Views:
17 451
Найти:
Выделите и нажмите CTRL+ENTER 🙂
Современный учебник JavaScript
Язык JavaScript
Здесь вы можете изучить JavaScript, начиная с нуля и заканчивая продвинутыми концепциями вроде ООП.
Мы сосредоточимся на самом языке, изредка добавляя заметки о средах его исполнения.
Введение
-
Введение в JavaScript
-
Справочники и спецификации
-
Редакторы кода
-
Консоль разработчика
Основы JavaScript
-
Привет, мир!
-
Структура кода
-
Строгий режим — “use strict”
-
Переменные
-
Типы данных
-
Взаимодействие: alert, prompt, confirm
-
Преобразование типов
-
Базовые операторы, математика
-
Операторы сравнения
-
Условное ветвление: if, ‘?’
-
Логические операторы
-
Оператор нулевого слияния (??)
-
Циклы while и for
-
Конструкция “switch”
-
Функции
-
Function Expression
-
Стрелочные функции, основы
-
Особенности JavaScript
- Далее…
Качество кода
-
Отладка в браузере
-
Советы по стилю кода
-
Комментарии
-
Ниндзя-код
-
Автоматическое тестирование c использованием фреймворка Mocha
-
Полифилы
Объекты: основы
-
Объекты
-
Копирование объектов и ссылки
-
Сборка мусора
-
Методы объекта, “this”
-
Конструктор, оператор “new”
-
Опциональная цепочка ‘?.
‘
-
Тип данных Symbol
-
Преобразование объектов в примитивы
Типы данных
-
Методы примитивов
-
Числа
-
Строки
-
Массивы
-
Методы массивов
-
Перебираемые объекты
-
Map и Set
-
WeakMap и WeakSet
-
Object.keys, values, entries
-
Деструктурирующее присваивание
-
Дата и время
-
Формат JSON, метод toJSON
- Далее…
Продвинутая работа с функциями
-
Рекурсия и стек
-
Остаточные параметры и оператор расширения
-
Замыкание
-
Устаревшее ключевое слово “var”
-
Глобальный объект
-
Объект функции, NFE
-
Синтаксис “new Function”
-
Планирование: setTimeout и setInterval
-
Декораторы и переадресация вызова, call/apply
-
Привязка контекста к функции
-
Повторяем стрелочные функции
- Далее…
Свойства объекта, их конфигурация
-
Флаги и дескрипторы свойств
-
Свойства – геттеры и сеттеры
Прототипы, наследование
-
Прототипное наследование
-
F.
prototype
-
Встроенные прототипы
-
Методы прототипов, объекты без свойства __proto__
Классы
-
Класс: базовый синтаксис
-
Наследование классов
-
Статические свойства и методы
-
Приватные и защищённые методы и свойства
-
Расширение встроенных классов
-
Проверка класса: “instanceof”
-
Примеси
Обработка ошибок
-
Обработка ошибок, “try..catch”
-
Пользовательские ошибки, расширение Error
Промисы, async/await
-
Введение: колбэки
-
Промисы
-
Цепочка промисов
-
Промисы: обработка ошибок
-
Promise API
-
Промисификация
-
Микрозадачи
-
Async/await
Генераторы, продвинутая итерация
-
Генераторы
-
Асинхронные итераторы и генераторы
Модули
-
Модули, введение
-
Экспорт и импорт
-
Динамические импорты
Разное
-
Proxy и Reflect
-
Eval: выполнение строки кода
-
Каррирование
-
Ссылочный тип
-
Побитовые операторы
-
BigInt
-
Юникод, внутреннее устройство строк
-
Intl: интернационализация в JavaScript
Онлайн-курсы
Онлайн-курсы – это не быстро устаревающие видео-записи, а живые вебинары. Ведёт их преподаватель – опытный действующий разработчик. С теорией, практикой, ответами на вопросы, проектом и обратной связью по вашему коду (“code review”).
Основы веб-разработки
курс для новичков
JavaScript / DOM / Интерфейсы
курс для программистов
JavaScript / DOM / Интерфейсы
курс
Современная верстка
интенсив
Архитектура и паттерны
New
Фреймворки, смежные технологии
курс
Angular
курс
Node.js
курс
React
интенсив
TypeScript
курс
Vue.js
интенсив
RxJs
Браузер: документ, события, интерфейсы
Изучаем работу со страницей – как получать элементы, манипулировать их размерами, динамически создавать интерфейсы и взаимодействовать с посетителем.
Документ
-
Браузерное окружение, спецификации
-
DOM-дерево
-
Навигация по DOM-элементам
-
Поиск: getElement*, querySelector*
-
Свойства узлов: тип, тег и содержимое
-
Атрибуты и свойства
-
Изменение документа
-
Стили и классы
-
Размеры и прокрутка элементов
-
Размеры и прокрутка окна
-
Координаты
- Далее…
Введение в события
-
Введение в браузерные события
-
Всплытие и погружение
-
Делегирование событий
-
Действия браузера по умолчанию
-
Генерация пользовательских событий
Интерфейсные события
-
Основы событий мыши
-
Движение мыши: mouseover/out, mouseenter/leave
-
Drag’n’Drop с событиями мыши
-
Клавиатура: keydown и keyup
-
События указателя
-
Прокрутка
Формы, элементы управления
-
Свойства и методы формы
-
Фокусировка: focus/blur
-
События: change, input, cut, copy, paste
-
Отправка формы: событие и метод submit
Загрузка документа и ресурсов
-
Страница: DOMContentLoaded, load, beforeunload, unload
-
Скрипты: async, defer
-
Загрузка ресурсов: onload и onerror
Разное
-
MutationObserver: наблюдатель за изменениями
-
Selection и Range
-
Событийный цикл: микрозадачи и макрозадачи
Тематические разделы
Важные темы, читать которые можно в любом порядке.
Фреймы и окна
-
Открытие окон и методы window
-
Общение между окнами
-
Атака типа clickjacking
Бинарные данные и файлы
-
ArrayBuffer, бинарные массивы
-
TextDecoder и TextEncoder
-
Blob
-
File и FileReader
Сетевые запросы
-
Fetch
-
FormData
-
Fetch: ход загрузки
-
Fetch: прерывание запроса
-
Fetch: запросы на другие сайты
-
Fetch API
-
Объекты URL
-
XMLHttpRequest
-
Возобновляемая загрузка файлов
-
Длинные опросы
-
WebSocket
-
Server Sent Events
- Далее…
Хранение данных в браузере
-
Куки, document.cookie
-
LocalStorage, sessionStorage
-
IndexedDB
Анимация
-
Кривые Безье
-
CSS-анимации
-
JavaScript-анимации
Веб-компоненты
-
С орбитальной высоты
-
Пользовательские элементы (Custom Elements)
-
Shadow DOM
-
Элемент “template”
-
Слоты теневого DOM, композиция
-
Настройка стилей теневого DOM
-
Теневой DOM и события
Регулярные выражения
-
Введение: шаблоны и флаги
-
Символьные классы
-
Юникод: флаг “u” и класс \p{.
$, флаг “m”
-
Граница слова: \b
-
Экранирование, специальные символы
-
Наборы и диапазоны […]
-
Квантификаторы +, *, ? и {n}
-
Жадные и ленивые квантификаторы
-
Скобочные группы
-
Обратные ссылки в шаблоне: \N и \k<имя>
-
Альтернация (или) |
-
Опережающие и ретроспективные проверки
-
Катастрофический возврат
-
Поиск на заданной позиции, флаг “y”
-
Методы RegExp и String
- Далее…
CSS для JavaScript-разработчика
-
О чём пойдёт речь
-
Единицы измерения: px, em, rem и другие
-
Все значения свойства display
-
Свойство float
-
Свойство position
-
Центрирование горизонтальное и вертикальное
-
Свойства font-size и line-height
-
Свойство white-space
-
Свойство outline
-
Свойство box-sizing
-
Свойство margin
-
Лишнее место под IMG
-
Свойство overflow
-
Особенности свойства height в %
-
Знаете ли вы селекторы?
-
CSS-спрайты
-
Правила форматирования CSS
- Далее…
Следите за обновлениями javascript.
ru
Мы не рассылаем рекламу, все только по делу. Вы сами выбираете, что получать:
Подписываясь на рассылку, вы соглашаетесь с пользовательским соглашением.
Изучайте Java | Codecademy
Курс
Научитесь программировать на Java — надежном языке программирования, используемом для создания программного обеспечения, веб-приложений и мобильных приложений и многого другого.
4.5
4.5 из 5 звезд
Start
1 415 486 зарегистрированных учащихся
С его помощью вы сможете разрабатывать большие системы, программное обеспечение и мобильные приложения — и даже создавать мобильные приложения для Android. Изучите важные основы программирования на Java и оттачивайте свои новые навыки в реальных проектах.
Навыки, которые вы приобретете
- Миниатюрная иконка в виде круга
Создание базовых концепций программирования
- Миниатюрная иконка в виде круга с галочкой
Изучение объектно-ориентированных концепций
- Миниатюрный круг с галочкой
Создание проектов Java
Syllabus
16 УРОКИ • 14 проектов • 15 Veizzes
Start
код в прямом эфире на нашей интерактивной онлайн-платформе. Вы даже получите рекомендации на основе ИИ о том, что вам нужно просмотреть, чтобы не сбиться с пути.
Checker Dense
Проекты в этом курсе
-
Проект
Посадка дерева
Напишите свою первую Java-программу с нуля, представившись пользователям и посадив для них дерево. Вы попрактикуетесь в создании класса, определении основного метода и организации операторов печати.
-
Проект
Переменные Java: Mad Libs
В этом проекте мы будем практиковаться в создании переменных и печати. Мы проверим ваши навыки, создав историю в стиле Mad Libs.
-
Project
Math Magic
Пришло время научиться бегло работать с операторами Java. В этом проекте мы будем практиковать арифметику в Java, чтобы вы могли отточить свои навыки и чувствовать себя уверенно, применяя их в реальном мире.
Почему? Практика вычисления целочисленных значений с помощью арифметических операторов Java поможет вам в будущем решать самые разные задачи Java.
Что дальше? Немного математики, больше Java и капелька магии. Ты получил это!
Reviews from learners
Our learners work at
- Google Logo
- Meta Logo
- Apple Logo
- EA Logo
- Amazon Logo
- IBM Logo
- Microsoft Logo
- Reddit Logo
- Spotify Logo
- Логотип Uber
- Логотип YouTube
- Логотип Instagram
Checker Dense
Доступ к дополнительным функциям с платным планом
- Значок проектов
Практические проекты
Проекты с пошаговыми инструкциями, которые помогут вам закрепить навыки и концепции, которые вы изучаете.
- Значок викторины
Тесты
Тесты с автоматической оценкой и мгновенная обратная связь помогут вам укрепить свои навыки во время обучения.
- Значок сертификата
Сертификат об окончании
Получите документ, подтверждающий, что вы прошли курс или путь, которым вы можете поделиться со своей сетью.
Посмотреть цены и планы
Оценки учащихся
4.5
4.5 out of 5 stars
965 ratings
-
5 stars
62%
-
4 stars
28%
-
3 stars
7%
-
2 stars
1%
-
1 звезда
2%
Присоединяйтесь к более чем 50 миллионам учащихся и начните изучать Java сегодня!
Start
Часто задаваемые вопросы о Java
-
Java — это язык программирования общего назначения с открытым исходным кодом, известный своей универсальностью и стабильностью. Он используется для всего: от создания веб-сайтов до операционных систем и носимых устройств. Яву можно найти даже в открытом космосе, управляя марсоходом.
Примеры Java
❮ Предыдущий
Далее ❯
Синтаксис Java
Создайте простую программу «Hello World»
Объяснение синтаксиса
Комментарии Java
Однострочный комментарий перед строкой кода
Однострочный комментарий в конце строки кода
Многострочный комментарий
Объяснение комментариев
Переменные Java
Создайте строковую переменную
Создать целочисленную переменную
Создайте переменную без присвоения значения и присвойте значение позже
Перезаписать существующее значение переменной
Создайте конечную переменную (неизменяемую и доступную только для чтения)
Объедините текст и переменную на дисплее
Добавить переменную к другой переменной
Объявите много переменных одного типа в списке, разделенном запятыми
Описание переменных
Типы данных Java
Демонстрация различных типов данных в Java
Создать тип байта
Создать короткий тип
Создайте тип int
Создайте длинный тип
Создать плавающий тип
Создать двойной тип
Создайте логический тип
Создайте тип символа
Создание типа String
Описание типов данных
Приведение типов Java
Расширение литья
Сужение приведения
Объяснение приведения типов
Операторы Java
Оператор сложения
Оператор вычитания
Оператор умножения
Оператор отдела
Оператор модуля
Оператор приращения
Оператор декремента
Оператор присваивания
Оператор сравнения
Логический оператор
Описание операторов
Строки Java
Создать строку
Кавычки внутри строки
Найдите длину строки
Использование методов для преобразования строк в верхний и нижний регистр
Поиск строки в строке
Конкатенация строк
Если вы добавите число и строку, результатом будет конкатенация строк
Объяснение строк
Java Math
Math. max(x,y) — возвращает наибольшее значение x и y
Math.min(x,y) — возвращает наименьшее значение x и y
Math.sqrt(x) — возвращает квадратный корень из x
Math.abs(x) — возвращает абсолютное (положительное) значение x
Math.random() — возвращает случайное число от 0 до 1
Объяснение математики
Булевы значения Java
Создайте логический тип
Узнать, является ли выражение истинным или ложным
Используйте оператор «равно» для вычисления логического выражения
Логические значения
Java If…Else (условия)
Оператор если
Оператор else
Оператор else if
If… Else Объяснение
Переключатель Java
Оператор switch
Оператор switch с ключевым словом по умолчанию
Объяснение переключателя
Циклы Java
Пока цикл
Выполнить цикл while
Для цикла
Для каждого цикла
Разорвать петлю
Продолжить цикл
Объяснение циклов
Java-массивы
Создание и доступ к массиву
Изменить элемент массива
Найдите длину массива
Доступ к массиву
Перебрать массив
Перебрать массив с for-each
Многомерный массив
Цикл по многомерному массиву
Объяснение массивов
Методы Java
Создать и вызвать метод
Вызов метода несколько раз
Метод с параметрами
Метод с несколькими параметрами
Возвращаемое значение
Метод с if. ..else
Перегрузка метода
Рекурсия
Рекурсивная функция с условием остановки
Объяснение методов
Классы и объекты Java
Создать класс и объект класса
Создание нескольких объектов класса
Доступ к атрибутам класса (переменным)
Изменить атрибуты
Переопределить существующие значения атрибута
Несколько атрибутов
Создайте метод класса
Метод с параметрами
Доступ к методам класса с объектом
Создайте конструктор класса
Конструктор с параметрами
Описание классов и объектов
Модификаторы Java
Публичный класс
Класс по умолчанию
Общедоступные атрибуты
Частные атрибуты
Атрибуты по умолчанию
Защищенные атрибуты
Финальный класс
Абстрактный класс с абстрактными методами
Объяснение модификаторов
Инкапсуляция Java
Инкапсуляция Java (геттеры и сеттеры)
Объяснение инкапсуляции
Пакеты Java
Импорт класса из Java API
Импорт пакета из Java API
Создание пакета
Описание пакетов
Наследование Java
Наследование Java (расширяется)
Полиморфизм Java
Объяснение наследования
Внутренние классы Java
Внутренний класс
Частный внутренний класс (ошибка при попытке доступа к нему из внешнего класса)
Статический внутренний класс
Доступ к внешнему классу из внутреннего класса
Объяснение внутренних классов
Абстракции и интерфейсы Java
Абстрактные классы и методы Java
Интерфейс Java (реализует)
Несколько интерфейсов
Описание интерфейсов
Перечисления Java
Создайте перечисление с группой констант
Перечисление внутри класса
Перечисление в операторе switch
Цикл по перечислению
Описание перечислений
Пользовательский ввод Java
Чтение пользовательского ввода
Чтение пользовательского ввода различных типов
Объяснение пользовательского ввода
Даты Java
Показать текущую дату
Показать текущее время
Отображение текущей даты и времени
Форматирование даты и времени
Объяснение дат
Java ArrayList
Создать список массивов
Доступ к элементу в ArrayList
Удалить элемент из ArrayList
Удалить все элементы из ArrayList
Получить размер ArrayList
Цикл через ArrayList
Цикл через ArrayList с for-each
Создайте список ArrayList, в котором должны храниться числа (целые числа)
Объяснение ArrayList
Java HashMap
Создать хэш-карту
Доступ к элементу в HashMap
Удалить элемент из HashMap
Удалить все элементы из HashMap
Получить размер HashMap
Цикл через HashMap
Создайте HashMap, в котором должны храниться строковые ключи и целочисленные значения
Объяснение HashMap
Java HashSet
Создайте HashSet и добавьте в него элементы
Проверить, существует ли элемент в HashSet
Удалить элемент из HashSet
Удалить все элементы из HashSet
Получить размер HashSet
Цикл через HashSet
Создайте HashSet, в котором должны храниться целочисленные значения
Объяснение HashSet
Итератор Java
Получение итератора
Цикл по коллекции
Удаление элементов из коллекции
Итератор Объяснение
Классы оболочки Java
Создайте ArrayList, который должен хранить числа (целые числа)
Создание объектов-оболочек
Использование методов-оболочек
Преобразование объектов-оболочек в строки
Объяснение классов-оболочек