Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
S
std_hibernate
Overview
Overview
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
Patryk Czarnik
std_hibernate
Commits
fd0afffc
Commit
fd0afffc
authored
Oct 31, 2024
by
Patryk Czarnik
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Poprawki w przykładach Hibernate
parent
9ab65d84
Show whitespace changes
Inline
Side-by-side
Showing
9 changed files
with
27 additions
and
7 deletions
+27
-7
sqldialects.xml
.idea/sqldialects.xml
+8
-0
Criteria3.java
src/main/java/hr/gotowe/Criteria3.java
+1
-0
Odczyt08_Tablica.java
src/main/java/hr/gotowe/Odczyt08_Tablica.java
+1
-1
Odczyt11_Join.java
src/main/java/hr/gotowe/Odczyt11_Join.java
+2
-1
Odczyt13_Native.java
src/main/java/hr/gotowe/Odczyt13_Native.java
+1
-2
Odczyt14_Native.java
src/main/java/hr/gotowe/Odczyt14_Native.java
+0
-0
OdczytajManagerow.java
src/main/java/hr/gotowe/OdczytajManagerow.java
+3
-3
P9_DetachMerge.java
src/main/java/przyklady/P9_DetachMerge.java
+9
-0
P9_Merge.java
src/main/java/przyklady/P9_Merge.java
+2
-0
No files found.
.idea/sqldialects.xml
0 → 100644
View file @
fd0afffc
<?xml version="1.0" encoding="UTF-8"?>
<project
version=
"4"
>
<component
name=
"SqlDialectMappings"
>
<file
url=
"file://$PROJECT_DIR$/src/main/java/hr/gotowe/Odczyt14_Native.java"
dialect=
"GenericSQL"
/>
<file
url=
"PROJECT"
dialect=
"PostgreSQL"
/>
</component>
</project>
\ No newline at end of file
src/main/java/hr/gotowe/Criteria3.java
View file @
fd0afffc
...
...
@@ -25,6 +25,7 @@ public class Criteria3 {
CriteriaQuery
<
Employee
>
cq
=
cb
.
createQuery
(
Employee
.
class
);
Root
<
Employee
>
root
=
cq
.
from
(
Employee
.
class
);
cq
.
select
(
root
);
// e.salary >= minSalary AND e.department.location.city = szukaneMiasto
cq
.
where
(
cb
.
and
(
cb
.
ge
(
root
.
get
(
"salary"
),
minSalary
),
cb
.
equal
(
root
.
get
(
"department"
).
get
(
"location"
).
get
(
"city"
),
szukaneMiasto
)));
cq
.
orderBy
(
cb
.
desc
(
root
.
get
(
"salary"
)));
...
...
src/main/java/hr/gotowe/Odczyt08_Tablica.java
View file @
fd0afffc
...
...
@@ -24,7 +24,7 @@ public class Odczyt08_Tablica {
}
System
.
out
.
println
(
"\nSprawdzę typy kolumn:"
);
Object
[]
row
=
(
Object
[])
rows
.
get
(
0
);
Object
[]
row
=
rows
.
get
(
0
);
System
.
out
.
println
(
row
[
0
].
getClass
().
getSimpleName
()
+
" "
+
row
[
2
].
getClass
().
getSimpleName
()
+
" "
+
row
[
3
].
getClass
().
getSimpleName
());
}
finally
{
if
(
em
!=
null
)
em
.
close
();
...
...
src/main/java/hr/gotowe/Odczyt11_Join.java
View file @
fd0afffc
...
...
@@ -18,7 +18,8 @@ public class Odczyt11_Join {
em
=
emf
.
createEntityManager
();
System
.
out
.
println
(
"Odczyt..."
);
TypedQuery
<
Object
[]>
query
=
em
.
createQuery
(
"SELECT e.firstName, e.lastName, d.departmentName, l.city"
+
" FROM Employee e LEFT JOIN e.department d LEFT JOIN d.location l"
,
Object
[].
class
);
+
" FROM Employee e LEFT JOIN e.department d LEFT JOIN d.location l"
+
" ORDER BY l.city, e.lastName, e.firstName"
,
Object
[].
class
);
List
<
Object
[]>
emps
=
query
.
getResultList
();
for
(
Object
[]
emp
:
emps
)
{
System
.
out
.
println
(
Arrays
.
toString
(
emp
));
...
...
src/main/java/hr/gotowe/Odczyt13_Native.java
View file @
fd0afffc
...
...
@@ -24,8 +24,7 @@ public class Odczyt13_Native {
List
<?>
rows
=
query
.
getResultList
();
for
(
Object
row
:
rows
)
{
// na wszelki wypadek sprawdzam, ale widzę, że Object[] działa
if
(
row
instanceof
Object
[])
{
Object
[]
cols
=
(
Object
[])
row
;
if
(
row
instanceof
Object
[]
cols
)
{
System
.
out
.
println
(
cols
[
0
]
+
" pracuje jako "
+
cols
[
1
]
+
" i zarabia "
+
cols
[
2
]);
}
}
...
...
src/main/java/hr/gotowe/Odczyt14_Native.java
View file @
fd0afffc
src/main/java/hr/gotowe/OdczytajManagerow.java
View file @
fd0afffc
...
...
@@ -29,11 +29,11 @@ public class OdczytajManagerow {
continue
;
}
while
(
emp
!=
null
)
{
System
.
out
.
println
(
" "
+
emp
.
getId
()
+
" "
+
emp
.
getFirstName
()
+
" "
+
emp
.
getLastName
()
+
"("
+
emp
.
getJob
().
getJobTitle
()
+
")"
+
" $"
+
emp
.
getSalary
());
while
(
emp
.
getManager
()
!=
null
)
{
emp
=
em
.
find
(
Employee
.
class
,
emp
.
getManager
());
System
.
out
.
println
(
"Managerem jest:"
);
System
.
out
.
println
(
" "
+
emp
.
getId
()
+
" "
+
emp
.
getFirstName
()
+
" "
+
emp
.
getLastName
()
+
" ("
+
emp
.
getJob
().
getJobTitle
()
+
") $"
+
emp
.
getSalary
());
}
}
}
finally
{
...
...
src/main/java/przyklady/P9_DetachMerge.java
View file @
fd0afffc
...
...
@@ -22,6 +22,7 @@ public class P9_DetachMerge {
System
.
out
.
println
(
"Zmieniam pole"
);
lokalizacja
.
setCity
(
"WENECJA"
);
System
.
out
.
println
(
lokalizacja
);
// gdybym teraz zrobił commit, to ta zmiana nie zapisze się w bazie
System
.
out
.
println
(
"Ponowny find"
);
Location
lokalizacjaFind
=
em
.
find
(
Location
.
class
,
1100
);
...
...
@@ -29,10 +30,18 @@ public class P9_DetachMerge {
System
.
out
.
println
(
"merge"
);
Location
lokalizacjaMerge
=
em
.
merge
(
lokalizacja
);
// obiekt lokalizacja nie zmienił położenia w pamięci i jest oddzielnym obiektem.
// uwaga! dalsze zmiany na nim nie wpływają na obiekty JPA
lokalizacja
.
setStreetAddress
(
"ULICA WIELKA NOWA"
);
// To wynik operacji merge jest tym obiekty należącym do puli; tutaj jest on równy lokalizacjaFind
System
.
out
.
println
(
"l : "
+
lokalizacja
);
System
.
out
.
println
(
"lf: "
+
lokalizacjaFind
);
System
.
out
.
println
(
"lm: "
+
lokalizacjaMerge
);
System
.
out
.
println
(
lokalizacja
==
lokalizacjaFind
);
// false
System
.
out
.
println
(
lokalizacjaMerge
==
lokalizacjaFind
);
// true
em
.
getTransaction
().
rollback
();
System
.
out
.
println
(
"Zrolowano."
);
}
...
...
src/main/java/przyklady/P9_Merge.java
View file @
fd0afffc
...
...
@@ -27,6 +27,8 @@ public class P9_Merge {
System
.
out
.
println
(
lokalizacjaFind
);
System
.
out
.
println
(
"merge"
);
// gdyby nie było id - zrobiłby inserta
// jeśli jest id - to robi updejta
Location
lokalizacjaMerge
=
em
.
merge
(
loc
);
System
.
out
.
println
(
"l : "
+
loc
);
System
.
out
.
println
(
"lf: "
+
lokalizacjaFind
);
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment