diff --git a/ebean-core/src/main/java/io/ebeaninternal/server/deploy/parse/AnnotationFields.java b/ebean-core/src/main/java/io/ebeaninternal/server/deploy/parse/AnnotationFields.java index c5c24bab7..489f8fb97 100644 --- a/ebean-core/src/main/java/io/ebeaninternal/server/deploy/parse/AnnotationFields.java +++ b/ebean-core/src/main/java/io/ebeaninternal/server/deploy/parse/AnnotationFields.java @@ -99,6 +99,10 @@ final class AnnotationFields extends AnnotationParser { if (formula != null) { prop.setSqlFormula(processFormula(formula.select()), processFormula(formula.join())); } + DbComment comment = get(prop, DbComment.class); + if (comment != null) { + prop.setDbComment(comment.value()); + } initWhoProperties(prop); initDbMigration(prop); } diff --git a/ebean-ddl-generator/src/main/java/io/ebeaninternal/dbmigration/model/build/ModelBuildPropertyVisitor.java b/ebean-ddl-generator/src/main/java/io/ebeaninternal/dbmigration/model/build/ModelBuildPropertyVisitor.java index 51c948185..d11b679b4 100644 --- a/ebean-ddl-generator/src/main/java/io/ebeaninternal/dbmigration/model/build/ModelBuildPropertyVisitor.java +++ b/ebean-ddl-generator/src/main/java/io/ebeaninternal/dbmigration/model/build/ModelBuildPropertyVisitor.java @@ -203,6 +203,7 @@ public class ModelBuildPropertyVisitor extends BaseTablePropertyVisitor { MColumn col = table.addColumn(dbCol, columnDefn, !p.isNullable()); col.setDbMigrationInfos(p.dbMigrationInfos()); col.setDefaultValue(p.dbColumnDefault()); + col.setComment(p.dbComment()); if (addForeignKey) { if (columns.length > 1) { compoundKey.addColumnPair(dbCol, refColumn); diff --git a/ebean-ddl-generator/src/test/java/io/ebeaninternal/dbmigration/model/build/ModelBuildBeanVisitorTest.java b/ebean-ddl-generator/src/test/java/io/ebeaninternal/dbmigration/model/build/ModelBuildBeanVisitorTest.java index 4991ded74..21650b653 100644 --- a/ebean-ddl-generator/src/test/java/io/ebeaninternal/dbmigration/model/build/ModelBuildBeanVisitorTest.java +++ b/ebean-ddl-generator/src/test/java/io/ebeaninternal/dbmigration/model/build/ModelBuildBeanVisitorTest.java @@ -49,6 +49,7 @@ public class ModelBuildBeanVisitorTest extends BaseTestCase { assert_discriminatorColumn_explicit(model); assert_discriminatorColumn_implied(model); assert_discriminatorColumn_length(model); + assert_comment_onManyToOne(model); } @Test @@ -144,4 +145,11 @@ public class ModelBuildBeanVisitorTest extends BaseTestCase { assertThat(discTypeColumn.getType()).isEqualTo("varchar(3)"); assertThat(discTypeColumn.isNotnull()).isTrue(); } + + private void assert_comment_onManyToOne(ModelContainer model) { + MTable message = model.getTable("c_message"); + MColumn conversation = message.getColumn("conversation_id"); + assertThat(conversation.getType()).isEqualTo("bigint"); + assertThat(conversation.getComment()).isEqualTo("A ManyToOne comment"); + } } diff --git a/ebean-ddl-generator/src/test/java/org/tests/model/converstation/Message.java b/ebean-ddl-generator/src/test/java/org/tests/model/converstation/Message.java index 45cda714e..7b94c7965 100644 --- a/ebean-ddl-generator/src/test/java/org/tests/model/converstation/Message.java +++ b/ebean-ddl-generator/src/test/java/org/tests/model/converstation/Message.java @@ -1,5 +1,6 @@ package org.tests.model.converstation; +import io.ebean.annotation.DbComment; import org.tests.model.BaseModel; import jakarta.persistence.Entity; @@ -14,6 +15,7 @@ public class Message extends BaseModel { String body; + @DbComment("A ManyToOne comment") @ManyToOne Conversation conversation;