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:

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

data class ChannelLang(
        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

data class ChannelLangId (

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

        @Column(name = "language")
        val language: Languages

) : Serializable

data class ChannelCore (
        @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.