Skip to content

Instantly share code, notes, and snippets.

View thergbway's full-sized avatar

Andrey Selivanov thergbway

  • Saint Petersburg, Russia
View GitHub Profile
@thergbway
thergbway / ! Hibernate&JPA Multiplicity Entity Relationships for JPA Hibernate.txt
Last active April 4, 2023 14:26
HIBERNATE&JPA. JPA HIBERNATE MULTIPLICITY ENTITY RELATIONSHIP
1. Связи бывают однонаправленными и двунаправленными: unidirectional и bidirectional. На UML стрелка с направлением, либо
одна соединительная линия. В реляционных БД связи осуществляются с использованием внешнего ключа(1-1) или
таблицы соединения(1-N, N-N)
2. Множественность связи или кардинальность. На UML обозначается, как 0..*, 1, 1..*, 1..2, 3..6 и так далее. Связь
с более чем одним объектом является типом Collection, List, Set, Map.
3. Владелец связи. При однонаправленной связи владелец - инициатор связи, при двунаправленной связи надо явно указывать
4. Каждая из связей однонаправленная или двунаправленная может быть @OneToOne, @OneToMany, @ManyToOne, @ManyToMany.
@thergbway
thergbway / postgres_queries_and_commands.sql
Created July 10, 2018 20:45 — forked from rgreenjr/postgres_queries_and_commands.sql
Useful PostgreSQL Queries and Commands
-- show running queries (pre 9.2)
SELECT procpid, age(query_start, clock_timestamp()), usename, current_query
FROM pg_stat_activity
WHERE current_query != '<IDLE>' AND current_query NOT ILIKE '%pg_stat_activity%'
ORDER BY query_start desc;
-- show running queries (9.2)
SELECT pid, age(query_start, clock_timestamp()), usename, query
FROM pg_stat_activity
WHERE query != '<IDLE>' AND query NOT ILIKE '%pg_stat_activity%'
@thergbway
thergbway / Main.java
Created March 14, 2018 09:36
Java init order
package com.thergbway;
import static com.thergbway.Main.getNumber;
class One {
static String a = getNumber(1);
static {getNumber(2);}
One() {getNumber(9);}
@thergbway
thergbway / ! Hibernate&JPA Entity Inheritance for JPA Hibernate.txt
Last active March 14, 2018 09:32
HIBERNATE&JPA. JPA ENTITY INHERITANCE
1. Типы классов в иерархии наследования:
* Сущность. Проблем нет, используется во всех примерах данного модуля
* Абстрактная сущность. Рассматривается так же, как и обычная сущность, только создать её объект нельзя.
* Суперкласс, который не является сущностью, те без @Entity. При расширении его классом, помеченным @Entity,
JPA будет видеть только свойства класса-потомка, а не базового класса, тк он не помечен @Entity
* Отображенный суперкласс. Не является сущностью, помечается @MappedSuperclass. Служит основой для
потомков-сущностей. К нему нельзя делать запросы и тп, тк это не сущность. Его поля будут отображены в таблице
расширяющего его класса-сущности.
@thergbway
thergbway / Trie.java
Created September 28, 2017 13:04
[EXERCISE] Trie traversing (https://en.wikipedia.org/wiki/Trie)
import java.util.Arrays;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.stream.Collectors;
//[mama, maman, abama]
//
//a b a m
//b m a a
@thergbway
thergbway / ! Hibernate&JPA Elementary mapping for JPA Hibernate.txt
Last active September 4, 2017 12:50
HIBERNATE&JPA. JPA HIBERNATE ELEMENTARY MAPPING
1. Для сущностей, хранящих большие объекты, выгодно использовать @SecondaryTable,
тк такие данные будут храниться отдельно
2. Записываемый в БД первичный ключ переприсвоить нельзя
3. Возможные типы @Id первичного ключа:
- примитивы: byte, short, int, long, char
- обертки: Byte, Short, Integer, Long, Character
- массивы вышеперечисленных примитивов или оберток: int[], Integer[]
- строки, числа и даты: String, BigInteger, java.util.Date, java.sql.Date
@thergbway
thergbway / ! Hibernate&JPA Basic Comfiguration of JPA Hibernate.txt
Last active October 22, 2016 23:57
HIBERNATE&JPA. JPA HIBERNATE CONFIGURATION
См. сводную информацию в https://gist.github.com/thergbway/0a68550a27668ce571e7c72cf6e6078f
@thergbway
thergbway / ! Hibernate&JPA Basic Configuration of Native Hibernate.txt
Last active October 22, 2016 23:57
HIBERNATE&JPA. NATIVE HIBERNATE CONFIGURATION
1. Hibernate modules:
* hibernate-core. Core module. Defines its ORM features and APIs as well as the various integration SPIs.
* hibernate-entitymanager. Defines Hibernate’s support for JPA.
* hibernate-java8. Support for using Java8 specific data-types such as any of the JSR 310 Date/Time types.
* hibernate-envers. Hibernate’s historical entity versioning feature.
* hibernate-spatial. Hibernate’s Spatial/GIS data-type support.
* hibernate-osgi. Hibernate support for running in OSGi containers.
* hibernate-c3p0. Integrates the C3P0 connection pooling library into Hibernate.
* hibernate-hikaricp. Integrates the HikariCP connection pooling library into Hibernate.
* hibernate-proxool. Integrates the Proxool connection pooling library into Hibernate.
@thergbway
thergbway / ! log4j.xml
Last active October 15, 2016 03:30
LOG4J XML CONFIGURATION. PUT IT ON CLASSPATH ROOT
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE log4j:configuration SYSTEM "log4j.dtd">
<log4j:configuration xmlns:log4j="http://jakarta.apache.org/log4j/">
<appender name="stdout" class="org.apache.log4j.ConsoleAppender">
<param name="Target" value="System.out"/>
<layout class="org.apache.log4j.PatternLayout">
<param name="ConversionPattern" value="%d{ABSOLUTE} %5p %c{1}:%L - %m%n"/>
</layout>
</appender>
@thergbway
thergbway / pom.xml Maven default POM
Last active October 15, 2016 02:53
Maven default POM
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId></groupId>
<artifactId></artifactId>
<version>1.0-SNAPSHOT</version>
<name></name>