Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
A
alx_java2b_20250412
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
alx_java2b_20250412
Commits
1eb1a9ee
Commit
1eb1a9ee
authored
May 25, 2025
by
Patryk Czarnik
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Ostatnie poprawki w projekcie Hibernate
parent
594034a7
Hide whitespace changes
Inline
Side-by-side
Showing
6 changed files
with
63 additions
and
26 deletions
+63
-26
MiniEmp.java
PC30-Hibernate/src/main/java/hr/dto/MiniEmp.java
+1
-1
PracownikWDepartamencie.java
...bernate/src/main/java/hr/dto/PracownikWDepartamencie.java
+0
-13
Odczyt13_Native.java
...-Hibernate/src/main/java/hr/programy/Odczyt13_Native.java
+4
-11
Odczyt13_Native_SprawdzanieTypow.java
...in/java/hr/programy/Odczyt13_Native_SprawdzanieTypow.java
+48
-0
Odczyt15_Native_DTO.java
...ernate/src/main/java/hr/programy/Odczyt15_Native_DTO.java
+2
-0
P07_AktualizujRekord2.java
...nate/src/main/java/hr/programy/P07_AktualizujRekord2.java
+8
-1
No files found.
PC30-Hibernate/src/main/java/hr/dto/MiniEmp.java
View file @
1eb1a9ee
...
...
@@ -16,7 +16,7 @@ public class MiniEmp {
this
.
lastName
=
lastName
;
this
.
jobTitle
=
jobTitle
;
this
.
salary
=
salary
;
//System.out.println("salary YES
");
System
.
out
.
println
(
"MiniEmp konstruktor
"
);
}
public
MiniEmp
(
String
firstName
,
String
lastName
,
String
jobTitle
)
{
...
...
PC30-Hibernate/src/main/java/hr/dto/PracownikWDepartamencie.java
View file @
1eb1a9ee
...
...
@@ -17,19 +17,6 @@ public class PracownikWDepartamencie {
public
PracownikWDepartamencie
()
{
}
public
PracownikWDepartamencie
(
int
id
,
String
departmentName
,
String
firstName
,
String
lastName
,
String
jobTitle
,
BigDecimal
salary
,
BigDecimal
depAvg
,
int
depPos
,
int
globalPos
)
{
this
.
id
=
id
;
this
.
departmentName
=
departmentName
;
this
.
firstName
=
firstName
;
this
.
lastName
=
lastName
;
this
.
jobTitle
=
jobTitle
;
this
.
salary
=
salary
;
this
.
depAvg
=
depAvg
;
this
.
depPos
=
depPos
;
this
.
globalPos
=
globalPos
;
}
public
int
getId
()
{
return
id
;
}
...
...
PC30-Hibernate/src/main/java/hr/programy/Odczyt13_Native.java
View file @
1eb1a9ee
...
...
@@ -12,20 +12,16 @@ import jakarta.persistence.Query;
public
class
Odczyt13_Native
{
public
static
void
main
(
String
[]
args
)
{
EntityManagerFactory
emf
=
null
;
EntityManager
em
=
null
;
try
{
emf
=
Persistence
.
createEntityManagerFactory
(
"hr_postgresql"
);
em
=
emf
.
createEntityManager
();
try
(
EntityManagerFactory
emf
=
Persistence
.
createEntityManagerFactory
(
"hr_postgresql"
);
EntityManager
em
=
emf
.
createEntityManager
())
{
Query
query
=
em
.
createNativeQuery
(
"SELECT first_name || ' ' || last_name, job_title, salary FROM employees JOIN jobs USING(job_id) ORDER BY employee_id"
);
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
]);
}
}
...
...
@@ -35,9 +31,6 @@ public class Odczyt13_Native {
System
.
out
.
println
(
"Sprawdzę typy kolumn:"
);
Object
[]
row
=
(
Object
[])
rows
.
get
(
0
);
System
.
out
.
println
(
row
[
0
].
getClass
().
getSimpleName
()
+
" "
+
row
[
1
].
getClass
().
getSimpleName
()
+
" "
+
row
[
2
].
getClass
().
getSimpleName
());
}
finally
{
if
(
em
!=
null
)
em
.
close
();
if
(
emf
!=
null
)
emf
.
close
();
}
}
...
...
PC30-Hibernate/src/main/java/hr/programy/Odczyt13_Native_SprawdzanieTypow.java
0 → 100644
View file @
1eb1a9ee
package
hr
.
programy
;
import
java.util.List
;
import
jakarta.persistence.EntityManager
;
import
jakarta.persistence.EntityManagerFactory
;
import
jakarta.persistence.Persistence
;
import
jakarta.persistence.Query
;
public
class
Odczyt13_Native_SprawdzanieTypow
{
public
static
void
main
(
String
[]
args
)
{
try
(
EntityManagerFactory
emf
=
Persistence
.
createEntityManagerFactory
(
"hr_postgresql"
);
EntityManager
em
=
emf
.
createEntityManager
())
{
int
i
;
List
<?>
wyniki1
=
em
.
createNativeQuery
(
"SELECT first_name || ' ' || last_name FROM employees"
).
getResultList
();
i
=
0
;
for
(
Object
row
:
wyniki1
)
{
System
.
out
.
println
(
row
+
" klasy "
+
row
.
getClass
().
getSimpleName
());
i
++;
if
(
i
>=
10
)
break
;
}
System
.
out
.
println
();
List
<?>
wyniki2
=
em
.
createNativeQuery
(
"SELECT salary FROM employees"
).
getResultList
();
i
=
0
;
for
(
Object
row
:
wyniki2
)
{
System
.
out
.
println
(
row
+
" klasy "
+
row
.
getClass
().
getSimpleName
());
i
++;
if
(
i
>=
10
)
break
;
}
System
.
out
.
println
();
List
<?>
wyniki3
=
em
.
createNativeQuery
(
"SELECT first_name, last_name, salary FROM employees"
).
getResultList
();
i
=
0
;
for
(
Object
row
:
wyniki3
)
{
System
.
out
.
println
(
row
+
" klasy "
+
row
.
getClass
().
getSimpleName
());
i
++;
if
(
i
>=
10
)
break
;
}
System
.
out
.
println
();
}
}
}
PC30-Hibernate/src/main/java/hr/programy/Odczyt15_Native_DTO.java
View file @
1eb1a9ee
...
...
@@ -14,6 +14,8 @@ import jakarta.persistence.Query;
// - funkcjonalność znana głównie w Oracle, dostępna także w PostgreSQL.
// W tej wersji dodatkowo wyniki pakuję do własnej klasy PracownikWDepartamencie
// Pola tej klasy muszą mieć nazwy odpowiadające nazwom kolumn w wyniku zapytania.
// W razie potrzeby możemy użyć aliasów kolumn w SQL.
public
class
Odczyt15_Native_DTO
{
...
...
PC30-Hibernate/src/main/java/hr/programy/P07_AktualizujRekord2.java
View file @
1eb1a9ee
...
...
@@ -25,11 +25,18 @@ public class P07_AktualizujRekord2 {
System
.
out
.
println
(
kochhar
.
getEmployeeId
()
+
" "
+
kochhar
.
getFirstName
()
+
" "
+
kochhar
.
getLastName
());
Department
dep
=
em
.
find
(
Department
.
class
,
90
);
System
.
out
.
println
(
"departament: "
+
dep
.
getDepartmentName
());
System
.
out
.
println
(
"departament find: "
+
dep
.
getDepartmentName
());
Department
depN
=
(
Department
)
em
.
createNativeQuery
(
"SELECT * FROM departments WHERE department_id = 90"
,
Department
.
class
)
.
getSingleResult
();
System
.
out
.
println
(
"departament native: "
+
depN
.
getDepartmentName
());
System
.
out
.
println
(
dep
==
king
.
getDepartment
());
System
.
out
.
println
(
dep
==
kochhar
.
getDepartment
());
System
.
out
.
println
(
dep
==
depN
);
System
.
out
.
println
();
// Każdy z tych trzech sposobów uzyskania departamentu zwrócił referencję do tego samego obiektu.
System
.
out
.
println
(
"Departamenty przed zmianą: "
+
dep
.
getDepartmentName
()
+
" "
...
...
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