public static void main(String[] args) {
    EntityManagerFactory entityManagerFactory
            = Persistence.createEntityManagerFactory("hello");
    EntityManager entityManager = entityManagerFactory.createEntityManager();

    EntityTransaction transaction = entityManager.getTransaction();
    transaction.begin();

    try {
        Member member = new Member();
        member.setUsername("member1");
        member.setAge(10);
        entityManager.persist(member);

        // 파라미터 바인딩
        Member result
                = entityManager.createQuery("SELECT m FROM Member m WHERE m.username = :username", Member.class)
                .setParameter("username", "member1")
                .getSingleResult();
        System.out.println("singleResult = " + result);

        transaction.commit();
    } catch (Exception e) {
        transaction.rollback();

        e.printStackTrace();
    } finally {
        entityManager.close();
    }

    entityManagerFactory.close();
}