Skip to content

Commit 3d899d8

Browse files
[Hibernate 6]: Fixed the generated bool value + add test
1 parent 9376490 commit 3d899d8

File tree

5 files changed

+18
-0
lines changed

5 files changed

+18
-0
lines changed

hibernate-dialect-v5/src/test/java/tech/ydb/hibernate/types/Employee.java

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -50,8 +50,10 @@ public class Employee {
5050
@Column(name = "limit_domain_password")
5151
private LocalDateTime limitDomainPassword;
5252

53+
@Column
5354
private byte[] bytes;
5455

56+
@Column
5557
private Enum anEnum;
5658

5759
@Enumerated(EnumType.STRING)

hibernate-dialect-v5/src/test/java/tech/ydb/hibernate/types/TypesTest.java

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -56,5 +56,9 @@ void integrationTypesTest() {
5656
employee.setActive(false);
5757
inTransaction(session -> session.merge(employee));
5858
inTransaction(session -> assertEquals(employee, session.find(Employee.class, employee.getId())));
59+
60+
inTransaction(session -> assertEquals(employee, session
61+
.createQuery("FROM Employee e WHERE e.isActive = false", Employee.class)
62+
.getSingleResult()));
5963
}
6064
}

hibernate-dialect/src/main/java/tech/ydb/hibernate/dialect/YdbDialect.java

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,7 @@
1313
import org.hibernate.mapping.Index;
1414
import org.hibernate.service.ServiceRegistry;
1515
import org.hibernate.sql.ast.SqlAstTranslatorFactory;
16+
import org.hibernate.sql.ast.spi.SqlAppender;
1617
import org.hibernate.tool.schema.spi.Exporter;
1718
import org.hibernate.type.BasicType;
1819
import static org.hibernate.type.SqlTypes.BIGINT;
@@ -182,6 +183,11 @@ public boolean supportsExistsInSelect() {
182183
return false;
183184
}
184185

186+
@Override
187+
public void appendBooleanValueString(SqlAppender appender, boolean bool) {
188+
appender.append(toBooleanValueString(bool));
189+
}
190+
185191
@Override
186192
public String toBooleanValueString(boolean bool) {
187193
return String.valueOf(bool);

hibernate-dialect/src/test/java/tech/ydb/hibernate/types/Employee.java

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -50,8 +50,10 @@ public class Employee {
5050
@Column(name = "limit_domain_password")
5151
private LocalDateTime limitDomainPassword;
5252

53+
@Column
5354
private byte[] bytes;
5455

56+
@Column
5557
private Enum anEnum;
5658

5759
@Enumerated(EnumType.STRING)

hibernate-dialect/src/test/java/tech/ydb/hibernate/types/TypesTest.java

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -56,5 +56,9 @@ void integrationTypesTest() {
5656
employee.setActive(false);
5757
inTransaction(session -> session.merge(employee));
5858
inTransaction(session -> assertEquals(employee, session.find(Employee.class, employee.getId())));
59+
60+
inTransaction(session -> assertEquals(employee, session
61+
.createQuery("FROM Employee e WHERE e.isActive = false", Employee.class)
62+
.getSingleResult()));
5963
}
6064
}

0 commit comments

Comments
 (0)