More than 3000 questions in repository. There are more than 900 unanswered questions. Click here and help us by providing the answer. Have a video suggestion. Click Correct / Improve and please let us know.
Ans. If id doesnt exist in the DB load throws an exception whereas get returns null in that case.get makes the call to DB immediately whereas load makes the call to proxy.
Help us improve. Please let us know the company, where you were asked this question :
Ans. Lazy fetching is the technique of not loading the child objects when parent objects are loaded. By default Hibernate does not load child objects. One can specify whether to load them or not while doing the association.
Help us improve. Please let us know the company, where you were asked this question :
Ans. Assert works only if assertions ( -ea ) are enabled which is not required for Verify.Assert throws an exception and hence doesn't continue with the test if assert evaluates to false whereas it's not so with Verify.
Help us improve. Please let us know the company, where you were asked this question :
Ans. Underlying data structure for ArrayList is Array whereas LinkedList is the linked list and hence have following differences -
1. ArrayList needs continuous memory locations and hence need to be moved to a bigger space if new elements are to be added to a filled array which is not required for LinkedList.
2. Removal and Insertion at specific place in ArrayList requires moving all elements and hence leads to O(n) insertions and removal whereas its constant O(1) for LinkedList.
3. Random access using index in ArrayList is faster than LinkedList which requires traversing the complete list through references.
4. Though Linear Search takes Similar Time for both, Binary Search using LinkedList requires creating new Model called Binary Search Tree which is slower but offers constant time insertion and deletion.
5. For a set of integers you want to sort using quicksort, it's probably faster to use an array; for a set of large structures you want to sort using selection sort, a linked list will be faster.
Ans. It's a feature to lazily initialize dependencies , relationship and associations from the Database. Any related references marked as @OneToMany or @ManyToMany are loaded lazily i.e when they are accessed and not when the parent is loaded.
Ans. Instead of Saving Parent as well as Child Entities individually , Hibernate provides the option to persist / delete the related entities when the Parent is persisted.
Help us improve. Please let us know the company, where you were asked this question :
Ans. Yes but as Hibernate creates the Proxy Classes inherited from the Entity Classes to communicate with Database for lazy initialization. Declaring entity classes as final will prohibit communication with database lazily and hence will be a performance hit.
Help us improve. Please let us know the company, where you were asked this question :
Ans. With Java 8, We can provide method definitions in the Interfaces that gets carried down the classes implementing that interface in case they are not overridden by the Class. Keyword "default" is used to mark the default method.
Q1798. Can a class implement two Interfaces having default method with same name and signature ?
public interface DefaultMethodInterface { default public void defaultMethod(){ System.out.println("DefaultMethodInterface"); } }
public interface DefaultMethodInterface2 { default public void defaultMethod(){ System.out.println("DefaultMethodInterface2"); } }
public class HelloJava8 implements DefaultMethodInterface,DefaultMethodInterface2 { public static void main(String[] args){ DefaultMethodInterface defMethIn = new HelloJava8(); defMethIn.defaultMethod(); } }
Ans. No. Compiler gives error saying "Duplicate Default Methods"
Help us improve. Please let us know the company, where you were asked this question :
Q1799. What If we make the method as abstract in another Interface ?
public interface DefaultMethodInterface { default public void defaultMethod(){ System.out.println("DefaultMethodInterface"); } }
public interface DefaultMethodInterface2 { public void defaultMethod(){ System.out.println("DefaultMethodInterface2"); } }
public class HelloJava8 implements DefaultMethodInterface,DefaultMethodInterface2 { public static void main(String[] args){ DefaultMethodInterface defMethIn = new HelloJava8(); defMethIn.defaultMethod(); } }
Ans. Even then the Compiler will give error saying that there is a conflict.
Help us improve. Please let us know the company, where you were asked this question :
Q1800. What if we override the conflicting method in the Class ?
public interface DefaultMethodInterface { default public void defaultMethod(){ System.out.println("DefaultMethodInterface"); } }
public interface DefaultMethodInterface2 { default public void defaultMethod(){ System.out.println("DefaultMethodInterface2"); } }
public class HelloJava8 implements DefaultMethodInterface,DefaultMethodInterface2 { public static void main(String[] args){ DefaultMethodInterface defMethIn = new HelloJava8(); defMethIn.defaultMethod(); }
public void defaultMethod(){ System.out.println("HelloJava8"); } }
Ans. There won't be any error and upon execution the overriding class method will be executed.
Help us improve. Please let us know the company, where you were asked this question :