I am learning Hibernate (beginner here). I wanted to know how the saveOrUpdate method does a comparison of records in the table and data hold in object which is in transient state.

Example code snippet:

```
package com.crudoperations;

import org.hibernate.Session;

import org.hibernate.SessionFactory;

import org.hibernate.Transaction;

import org.hibernate.cfg.Configuration;

import org.hibernate.service.ServiceRegistry;

import org.hibernate.service.ServiceRegistryBuilder;

import com.beans.Student;

public class CRUDMain {

public static void main(String[] args) {

    Configuration cfg = new Configuration();

    cfg.configure("hibernate.cfg.xml");

    ServiceRegistryBuilder service = new ServiceRegistryBuilder();

    ServiceRegistry sRegitry = service.applySettings(cfg.getProperties()).buildServiceRegistry();

    SessionFactory sf = cfg.buildSessionFactory(sRegitry);

    Session session = sf.openSession();

    Transaction tx = session.beginTransaction();

    Student stud = new Student();

    stud.setId(101);

    stud.setSname("abc");

    stud.setEmail("abc@gmail.com");

    stud.setMarks(89);

    //      System.out.println("invoking save() method.");

    //      int pk = (Integer) session.save(stud);      

    //      System.out.println("PK:"+pk);

    System.out.println("invoking saveOrUpdate() method.");

    session.saveOrUpdate(stud);

    tx.commit();

}

};

package com.beans;

public class Student {

private int id;

private String sname;

private String email;

private int marks;

public Student() { }

public int getId() {

    return id;

}

public void setId(int id) {

    this.id = id;

}

public String getSname() {

    return sname;

}

public void setSname(String sname) {

    this.sname = sname;

}

public String getEmail() {

    return email;

}

public void setEmail(String email) {

    this.email = email;

}

public int getMarks() {

    return marks;

}

public void setMarks(int marks) {

    this.marks = marks;

}   

}

```

I have read that using saveOrUpdate() first selects the record from the database and compares the selected data with data in stud object. If it matches no insertion happens but if it doesn't match then data in stud object is inserted. How does the comparison happen since we haven't overridden the equals method in Student pojo. Table contains data with: 

```
id=101, name=abc, email=abc@gmail.com, marks=89

```

Thanks in advance.
['https://Stackoverflow.com/questions/53200172', 'https://Stackoverflow.com', 'https://Stackoverflow.com/users/5281658/']
You have a local dependency that you are trying to install.

`"internal-edge-render": "file:/root/.m2/repository/pl/chilldev/internal/internal-edge-render/0.1.2/internal-edge-render-0.1.2.tar.gz"`

Docker is unaware of it's path. Either install the dependency from npm or mount the directory into docker. Assuming the latter is no option... 

Unfortunately the logs don't really help in that case.
Setting the docker network to "host" fixed this and other issues for me.

```
 docker build . --network host

```