BAEL-2799 (#6904)
* BAEL-2799 * constructor name fix * method name fix * add database * fix tests
This commit is contained in:
parent
d2102a76ff
commit
51a9d7b0d6
@ -1,4 +1,4 @@
|
|||||||
package com.baeldung.jpadefaultvalues.application;
|
package com.baeldung.jpa.defaultvalues;
|
||||||
|
|
||||||
import javax.persistence.Column;
|
import javax.persistence.Column;
|
||||||
import javax.persistence.Entity;
|
import javax.persistence.Entity;
|
||||||
@ -9,7 +9,6 @@ import javax.persistence.Id;
|
|||||||
public class User {
|
public class User {
|
||||||
|
|
||||||
@Id
|
@Id
|
||||||
@GeneratedValue
|
|
||||||
private Long id;
|
private Long id;
|
||||||
|
|
||||||
@Column(columnDefinition = "varchar(255) default 'John Snow'")
|
@Column(columnDefinition = "varchar(255) default 'John Snow'")
|
@ -0,0 +1,36 @@
|
|||||||
|
package com.baeldung.jpa.defaultvalues;
|
||||||
|
|
||||||
|
import javax.persistence.EntityManager;
|
||||||
|
import javax.persistence.EntityManagerFactory;
|
||||||
|
import javax.persistence.Persistence;
|
||||||
|
|
||||||
|
public class UserRepository {
|
||||||
|
|
||||||
|
private EntityManagerFactory emf = null;
|
||||||
|
|
||||||
|
public UserRepository() {
|
||||||
|
emf = Persistence.createEntityManagerFactory("entity-default-values");
|
||||||
|
}
|
||||||
|
|
||||||
|
public User find(Long id) {
|
||||||
|
EntityManager entityManager = emf.createEntityManager();
|
||||||
|
User user = entityManager.find(User.class, id);
|
||||||
|
entityManager.close();
|
||||||
|
return user;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void save(User user, Long id) {
|
||||||
|
user.setId(id);
|
||||||
|
|
||||||
|
EntityManager entityManager = emf.createEntityManager();
|
||||||
|
entityManager.getTransaction().begin();
|
||||||
|
entityManager.persist(user);
|
||||||
|
entityManager.getTransaction().commit();
|
||||||
|
entityManager.close();
|
||||||
|
}
|
||||||
|
|
||||||
|
public void clean() {
|
||||||
|
emf.close();
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
@ -130,4 +130,20 @@
|
|||||||
</properties>
|
</properties>
|
||||||
</persistence-unit>
|
</persistence-unit>
|
||||||
|
|
||||||
|
<persistence-unit name="entity-default-values">
|
||||||
|
<provider>org.hibernate.jpa.HibernatePersistenceProvider</provider>
|
||||||
|
<class>com.baeldung.jpa.defaultvalues.User</class>
|
||||||
|
<exclude-unlisted-classes>true</exclude-unlisted-classes>
|
||||||
|
<properties>
|
||||||
|
<property name="javax.persistence.jdbc.driver" value="org.h2.Driver" />
|
||||||
|
<property name="javax.persistence.jdbc.url" value="jdbc:h2:mem:test" />
|
||||||
|
<property name="javax.persistence.jdbc.user" value="sa" />
|
||||||
|
<property name="javax.persistence.jdbc.password" value="" />
|
||||||
|
<property name="hibernate.dialect" value="org.hibernate.dialect.H2Dialect" />
|
||||||
|
<property name="hibernate.hbm2ddl.auto" value="create-drop" />
|
||||||
|
<property name="show_sql" value="true" />
|
||||||
|
<property name="hibernate.temp.use_jdbc_metadata_defaults" value="false" />
|
||||||
|
</properties>
|
||||||
|
</persistence-unit>
|
||||||
|
|
||||||
</persistence>
|
</persistence>
|
@ -1,31 +1,31 @@
|
|||||||
package com.baeldung.jpadefaultvalues.application;
|
package com.baeldung.jpa.defaultvalues;
|
||||||
|
|
||||||
import com.baeldung.jpadefaultvalues.application.User;
|
import com.baeldung.jpa.defaultvalues.User;
|
||||||
import com.baeldung.jpadefaultvalues.application.UserRepository;
|
import com.baeldung.jpa.defaultvalues.UserRepository;
|
||||||
|
|
||||||
import org.junit.Test;
|
import org.junit.Test;
|
||||||
import org.junit.Ignore;
|
import org.junit.Ignore;
|
||||||
import org.junit.runner.RunWith;
|
import org.junit.AfterClass;
|
||||||
|
import org.junit.BeforeClass;
|
||||||
import org.springframework.boot.test.context.SpringBootTest;
|
|
||||||
import org.springframework.test.context.junit4.SpringRunner;
|
|
||||||
import org.springframework.beans.factory.annotation.Autowired;
|
|
||||||
|
|
||||||
import static org.junit.Assert.*;
|
import static org.junit.Assert.*;
|
||||||
|
|
||||||
@RunWith(SpringRunner.class)
|
|
||||||
@SpringBootTest
|
|
||||||
public class UserDefaultValuesUnitTest {
|
public class UserDefaultValuesUnitTest {
|
||||||
|
|
||||||
@Autowired
|
private static UserRepository userRepository = null;
|
||||||
private UserRepository userRepository;
|
|
||||||
|
@BeforeClass
|
||||||
|
public static void once() {
|
||||||
|
userRepository = new UserRepository();
|
||||||
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
@Ignore // SQL default values are also defined
|
@Ignore // SQL default values are also defined
|
||||||
public void saveUser_shouldSaveWithDefaultFieldValues() {
|
public void saveUser_shouldSaveWithDefaultFieldValues() {
|
||||||
User user = new User();
|
User user = new User();
|
||||||
user = userRepository.save(user);
|
userRepository.save(user, 1L);
|
||||||
|
|
||||||
|
user = userRepository.find(1L);
|
||||||
assertEquals(user.getName(), "John Snow");
|
assertEquals(user.getName(), "John Snow");
|
||||||
assertEquals(25, (int) user.getAge());
|
assertEquals(25, (int) user.getAge());
|
||||||
assertFalse(user.getLocked());
|
assertFalse(user.getLocked());
|
||||||
@ -36,8 +36,9 @@ public class UserDefaultValuesUnitTest {
|
|||||||
public void saveUser_shouldSaveWithNullName() {
|
public void saveUser_shouldSaveWithNullName() {
|
||||||
User user = new User();
|
User user = new User();
|
||||||
user.setName(null);
|
user.setName(null);
|
||||||
user = userRepository.save(user);
|
userRepository.save(user, 2L);
|
||||||
|
|
||||||
|
user = userRepository.find(2L);
|
||||||
assertNull(user.getName());
|
assertNull(user.getName());
|
||||||
assertEquals(25, (int) user.getAge());
|
assertEquals(25, (int) user.getAge());
|
||||||
assertFalse(user.getLocked());
|
assertFalse(user.getLocked());
|
||||||
@ -46,11 +47,17 @@ public class UserDefaultValuesUnitTest {
|
|||||||
@Test
|
@Test
|
||||||
public void saveUser_shouldSaveWithDefaultSqlValues() {
|
public void saveUser_shouldSaveWithDefaultSqlValues() {
|
||||||
User user = new User();
|
User user = new User();
|
||||||
user = userRepository.save(user);
|
userRepository.save(user, 3L);
|
||||||
|
|
||||||
|
user = userRepository.find(3L);
|
||||||
assertEquals(user.getName(), "John Snow");
|
assertEquals(user.getName(), "John Snow");
|
||||||
assertEquals(25, (int) user.getAge());
|
assertEquals(25, (int) user.getAge());
|
||||||
assertFalse(user.getLocked());
|
assertFalse(user.getLocked());
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@AfterClass
|
||||||
|
public static void destroy() {
|
||||||
|
userRepository.clean();
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
@ -1,14 +0,0 @@
|
|||||||
package com.baeldung.jpadefaultvalues.application;
|
|
||||||
|
|
||||||
import org.springframework.boot.SpringApplication;
|
|
||||||
import org.springframework.boot.autoconfigure.SpringBootApplication;
|
|
||||||
import org.springframework.context.ApplicationContext;
|
|
||||||
|
|
||||||
@SpringBootApplication
|
|
||||||
public class Application {
|
|
||||||
private static ApplicationContext applicationContext;
|
|
||||||
|
|
||||||
public static void main(String[] args) {
|
|
||||||
applicationContext = SpringApplication.run(Application.class, args);
|
|
||||||
}
|
|
||||||
}
|
|
@ -1,8 +0,0 @@
|
|||||||
package com.baeldung.jpadefaultvalues.application;
|
|
||||||
|
|
||||||
import org.springframework.data.jpa.repository.JpaRepository;
|
|
||||||
import org.springframework.stereotype.Repository;
|
|
||||||
|
|
||||||
@Repository
|
|
||||||
public interface UserRepository extends JpaRepository<User, Long> {
|
|
||||||
}
|
|
Loading…
x
Reference in New Issue
Block a user