* hibernate identifiers examples * fix conflict * change to longstream * change to format
101 lines
2.6 KiB
Java
101 lines
2.6 KiB
Java
package com.baeldung.hibernate;
|
|
|
|
import org.junit.After;
|
|
import org.junit.Before;
|
|
import org.junit.Test;
|
|
import org.hibernate.Transaction;
|
|
import java.io.IOException;
|
|
import org.hibernate.Session;
|
|
|
|
import static org.assertj.core.api.Assertions.assertThat;
|
|
|
|
import com.baeldung.hibernate.pojo.Product;
|
|
import com.baeldung.hibernate.pojo.Course;
|
|
import com.baeldung.hibernate.pojo.OrderEntry;
|
|
import com.baeldung.hibernate.pojo.OrderEntryIdClass;
|
|
import com.baeldung.hibernate.pojo.OrderEntryPK;
|
|
import com.baeldung.hibernate.pojo.Student;
|
|
import com.baeldung.hibernate.pojo.User;
|
|
import com.baeldung.hibernate.pojo.UserProfile;
|
|
|
|
public class IdentifiersIntegrationTest {
|
|
private Session session;
|
|
|
|
private Transaction transaction;
|
|
|
|
@Before
|
|
public void setUp() throws IOException {
|
|
session = HibernateUtil.getSessionFactory()
|
|
.openSession();
|
|
transaction = session.beginTransaction();
|
|
}
|
|
|
|
@After
|
|
public void tearDown() {
|
|
transaction.rollback();
|
|
session.close();
|
|
}
|
|
|
|
@Test
|
|
public void whenSaveSimpleIdEntities_thenOk() {
|
|
Student student = new Student();
|
|
session.save(student);
|
|
User user = new User();
|
|
session.save(user);
|
|
|
|
assertThat(student.getStudentId()).isEqualTo(1L);
|
|
assertThat(user.getUserId()).isEqualTo(4L);
|
|
|
|
Course course = new Course();
|
|
session.save(course);
|
|
|
|
}
|
|
|
|
@Test
|
|
public void whenSaveCustomGeneratedId_thenOk() {
|
|
Product product = new Product();
|
|
session.save(product);
|
|
Product product2 = new Product();
|
|
session.save(product2);
|
|
|
|
assertThat(product2.getProdId()).isEqualTo("prod-2");
|
|
}
|
|
|
|
@Test
|
|
public void whenSaveCompositeIdEntity_thenOk() {
|
|
OrderEntryPK entryPK = new OrderEntryPK();
|
|
entryPK.setOrderId(1L);
|
|
entryPK.setProductId(30L);
|
|
|
|
OrderEntry entry = new OrderEntry();
|
|
entry.setEntryId(entryPK);
|
|
session.save(entry);
|
|
|
|
assertThat(entry.getEntryId()
|
|
.getOrderId()).isEqualTo(1L);
|
|
}
|
|
|
|
@Test
|
|
public void whenSaveIdClassEntity_thenOk() {
|
|
OrderEntryIdClass entry = new OrderEntryIdClass();
|
|
entry.setOrderId(1L);
|
|
entry.setProductId(30L);
|
|
session.save(entry);
|
|
|
|
assertThat(entry.getOrderId()).isEqualTo(1L);
|
|
}
|
|
|
|
@Test
|
|
public void whenSaveDerivedIdEntity_thenOk() {
|
|
User user = new User();
|
|
session.save(user);
|
|
|
|
UserProfile profile = new UserProfile();
|
|
profile.setUser(user);
|
|
session.save(profile);
|
|
|
|
assertThat(profile.getProfileId()).isEqualTo(user.getUserId());
|
|
}
|
|
|
|
}
|