Lazy fetch not working for ManytoOne relationship with parent having embedddedId

There are three entities ChannelCore, ChannelLang, Question.
ChannelLang and ChannelCore has ManytoOne mapping. With ChannelLang has composite primary key (one of the attribute in the composite key is @MapsId with the ChannelCore primary key.
The Question entity has a ManytoOne relationship with ChannelLang.
All realtions are unidirectional . I want all the fetching to be lazy. i.e when ChannelLang fetch for Question as well ChannelCore fetch for ChannelLang.
Despite trying different ways , It is EAGER Fetch.
The boiled down code for Entities looks like:

@Entity
data class Question (
 
        // unidirectional relation
        @ManyToOne(cascade = [CascadeType.ALL],optional = false,fetch = FetchType.LAZY)
        @JoinColumns(
            JoinColumn(name = "channel_id"),
            JoinColumn(name = "language")
        )
        val quesChannel:ChannelLang,
)

@Entity
data class ChannelLang(
       
       @EmbeddedId
        val id: ChannelLangId,
 
       // though it is lazy, fetching channelLang fires channelCore automatically.
        @ManyToOne(fetch = FetchType.LAZY,optional = false)
        @JoinColumn(name = "channel_id",insertable = false,updatable = false)
        val channelCore:ChannelCore
)


@Embeddable
data class ChannelLangId (

        @Column(name = "channel_id")
        val channelId:Long,

        @Column(name = "language")
        @Enumerated(EnumType.STRING)
        val language: Languages

) : Serializable

@Entity
data class ChannelCore (
      
        @Id
        @GeneratedValue(strategy = GenerationType.IDENTITY)
        @Column(name = "channel_id")
        val id:Long
)
   

As long as you fetch the parent entity and you don’t explicitly JOIN FETCH or navigate the lazy association, Hibernate will not initialize the lazy Proxy.

Try to replicate it with this test case, and you are going to see that it works just fine. If you believe you manage to replicate it, send it us so we can investigate it.