ruby 2.2.1p85
rails 4.2.1

以下のようなmodel構成で実装しております。

class Student
  after_initialize :set_profile
  has_one :student_profile, dependent: :destroy

  def set_profile
    self.student_profile ||= StudentProfile.new
  end
end

class StudentProfile
  belong_to :student
end

その上で、n+1問題を解決したく以下のようにすると、先にafter_initializeが発生してしまい、n+1問題が解決しませんでした。

Student.joins(:student_profile)
もしくは
Student.includes(:student_profile)

after_initializeの処理はいじりたくなく、それ以外の方法でn+1問題を解決する方法はありますでしょうか?

宜しくお願いします。