diff --git a/jbt/src/main/java/org/hibernate/tool/orm/jbt/wrp/TableWrapper.java b/jbt/src/main/java/org/hibernate/tool/orm/jbt/wrp/TableWrapper.java index 33739ebddf..ded3e0a440 100644 --- a/jbt/src/main/java/org/hibernate/tool/orm/jbt/wrp/TableWrapper.java +++ b/jbt/src/main/java/org/hibernate/tool/orm/jbt/wrp/TableWrapper.java @@ -1,5 +1,6 @@ package org.hibernate.tool.orm.jbt.wrp; +import org.hibernate.mapping.KeyValue; import org.hibernate.mapping.Table; public class TableWrapper extends Table implements Wrapper { @@ -7,5 +8,11 @@ public class TableWrapper extends Table implements Wrapper { public TableWrapper(String name) { super("HibernateTools", name); } + + @Override + public KeyValue getIdentifierValue() { + KeyValue result = super.getIdentifierValue(); + return result == null ? null : (KeyValue)ValueWrapperFactory.createValueWrapper(result); + } } diff --git a/jbt/src/test/java/org/hibernate/tool/orm/jbt/wrp/TableWrapperTest.java b/jbt/src/test/java/org/hibernate/tool/orm/jbt/wrp/TableWrapperTest.java index 24c648ee2b..e4126208bb 100644 --- a/jbt/src/test/java/org/hibernate/tool/orm/jbt/wrp/TableWrapperTest.java +++ b/jbt/src/test/java/org/hibernate/tool/orm/jbt/wrp/TableWrapperTest.java @@ -2,7 +2,11 @@ import static org.junit.jupiter.api.Assertions.assertEquals; import static org.junit.jupiter.api.Assertions.assertNotNull; +import static org.junit.jupiter.api.Assertions.assertSame; +import org.hibernate.mapping.BasicValue; +import org.hibernate.mapping.KeyValue; +import org.hibernate.tool.orm.jbt.util.DummyMetadataBuildingContext; import org.junit.jupiter.api.BeforeEach; import org.junit.jupiter.api.Test; @@ -13,6 +17,8 @@ public class TableWrapperTest { @BeforeEach public void beforeEach() { tableWrapper = new TableWrapper("foo"); + KeyValue v = new BasicValue(DummyMetadataBuildingContext.INSTANCE); + tableWrapper.setIdentifierValue(v); } @Test @@ -20,5 +26,12 @@ public void testConstruction() { assertNotNull(tableWrapper); assertEquals("foo", tableWrapper.getName()); } + + @Test + public void testGetIdentifierValue() { + KeyValue v = new BasicValue(DummyMetadataBuildingContext.INSTANCE); + tableWrapper.setIdentifierValue(v); + assertSame(v, ((Wrapper)tableWrapper.getIdentifierValue()).getWrappedObject()); + } }