Как использовать MySQL-специфичные функции в базе данных H2? - PullRequest
0 голосов
/ 07 сентября 2018

Как сохранить сущность, которая содержит поле @Formula, в базе данных H2?

Я сталкиваюсь со следующим исключением:

...
Caused by: org.h2.jdbc.JdbcSQLException: Function "UNIX_TIMESTAMP" not found;
...

Почтовый класс:

@Entity
public class Post {
    // ...

    @Formula("UNIX_TIMESTAMP(creation_date_time) / 24 * 60 * 60 * 1000 + likes_count")
    private long score;

    // ...
}

PostRepositoryTest класс:

@ExtendWith(SpringExtension.class)
@DataJpaTest
class PostRepositoryTest {

    @Autowired
    private TestEntityManager entityManager;

    @Autowired
    private PostRepository postRepository;

    @Test
    void savePost() {
        entityManager.persist(new Post());

        List<Post> posts = postRepository.findAll();

        assertEquals(1, posts.size());
    }
}
...