Skip to content

Commit ec3884a

Browse files
committed
implement update
1 parent 56ac7ef commit ec3884a

2 files changed

Lines changed: 21 additions & 2 deletions

File tree

src/main/java/de/varilx/database/sql/repository/SQLRepository.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -69,7 +69,7 @@ public CompletableFuture<Void> save(E e) {
6969
return CompletableFuture.supplyAsync(() -> {
7070
try(Session session = this.sessionFactory.openSession()) {
7171
session.beginTransaction();
72-
session.persist(e);
72+
session.merge(e);
7373
session.getTransaction().commit();
7474
}
7575
return null;
@@ -82,7 +82,7 @@ public CompletableFuture<Void> insert(E e) {
8282
try(Session session = this.sessionFactory.openSession()) {
8383
EntityTransaction transaction = session.getTransaction();
8484
transaction.begin();
85-
session.save(e);
85+
session.persist(e);
8686
transaction.commit();
8787
}
8888
return null;

src/test/java/de/varilx/test/SQLiteTest.java

Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -54,5 +54,24 @@ public void testSQL() throws ExecutionException, InterruptedException {
5454
Assertions.assertEquals(repo.findAll().get().size(), 0);
5555
}
5656

57+
@Test
58+
public void testUpdate() throws ExecutionException, InterruptedException {
59+
YamlConfiguration configuration = YamlConfiguration.loadConfiguration(new StringReader("""
60+
type: SQLITE
61+
SQL:
62+
connection-string: "jdbc:sqlite:sample.db"
63+
"""));
64+
65+
SQLService service = (SQLService) Service.load(configuration, this.getClass().getClassLoader());
66+
Repository<TestEntity, UUID> repo = service.create(TestEntity.class, UUID.class);
67+
68+
repo.deleteAll().get();
69+
Assertions.assertEquals(repo.exists(UUID.randomUUID()).get(), false);
70+
TestEntity entity = new TestEntity(20);
71+
repo.insert(entity).get();
72+
entity.setAge(50);
73+
repo.save(entity).get();
74+
Assertions.assertEquals(repo.findFirstById(entity.getId()).get().getAge(), 50);
75+
}
5776

5877
}

0 commit comments

Comments
 (0)