Skip to content

Commit

Permalink
Merge pull request #58 from TouK/join_column_fix
Browse files Browse the repository at this point in the history
Properly use @joincolumn in one2many assoc
  • Loading branch information
pjagielski authored Oct 22, 2021
2 parents 2756c93 + a3300bf commit e929589
Show file tree
Hide file tree
Showing 3 changed files with 7 additions and 3 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -13,6 +13,7 @@ import pl.touk.krush.meta.toClassName
import pl.touk.krush.validation.*
import javax.lang.model.element.Name
import javax.lang.model.element.TypeElement
import javax.persistence.JoinColumn

@KotlinPoetMetadataPreview
class TablesGenerator : SourceGenerator {
Expand Down Expand Up @@ -350,7 +351,10 @@ class TablesGenerator : SourceGenerator {
}

private fun associationInitializer(assoc: AssociationDefinition, idProp: PropertyDefinition) : CodeBlock {
val columnName = assoc.joinColumns.find { it.name == idProp.columnName.toString() }?.name
// if it's embedded key - match by id column name, otherwise - just use JoinColumn name
val joinColumnFinder: (JoinColumn) -> Boolean =
if (assoc.targetId.embedded) { x -> x.name == idProp.columnName.toString() } else { _ -> true }
val columnName = assoc.joinColumns.find(joinColumnFinder)?.name
?: "${assoc.name.asVariable()}_${assoc.targetId.name.asVariable()}"
val idCodeBlock = idCodeBlock(idProp, assoc.target.simpleName, columnName)

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -29,7 +29,7 @@ data class Branch(
val name: String,

@ManyToOne
@JoinColumn(name = "tree_id")
@JoinColumn(name = "my_tree_id")
val tree: Tree? = null,

@OneToMany(mappedBy = "branch")
Expand Down
2 changes: 1 addition & 1 deletion example/src/main/kotlin/pl/touk/krush/one2many/uni/Tree.kt
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,7 @@ data class Tree(
val name: String,

@OneToMany
@JoinColumn(name = "tree_id")
@JoinColumn(name = "my_tree_id")
val branches: List<Branch> = emptyList()
)

Expand Down

0 comments on commit e929589

Please # to comment.