Prevent water entering into boat?
You need to create a proxy mesh which you will not be rendering, that encompasses the body of the boat, then add a boolean modifier set to difference to the ocean and set to use the proxy mesh.
Example :

I duplicate the bowl object, increase the mesh's size so there is overlap in the bottom of the bowl.

Then select the ocean object, add a boolean modifier. Don't forget to set the solver to Fast, the Exact solver is pretty buggy.

Don't forget to parent the proxy mesh to the boat object so that it moves with it, and uncheck all the render properties for the proxy so it doesn't show up in rendered view.