스프링이 있는 JPA
엔터티에서 매핑 메타데이터 정의
다음 주석을 사용합니다.
@Entity
@Table(name="T_ACCOUNT")
public class Account {
@Id
@Column(name="ID")
private Long entityId;
@Transient
private String number;
...
}
EntityManagerFactory 빈 정의
@Bean
public LocalContainerEntityManagerFactoryBean entityManagerFactory() {
HibernateJpaVendorAdapter adapter = new HibernateJpaVendorAdapter();
adapter.setShowSql(true);
adapter.setGenerateDdl(true); // creating/updating tables (be careful)
adapter.setDatabase(Database.HSQL);
Properties props = new Properties();
props.setProperty("hibernate.format_sql", "true");
LocalContainerEntityManagerFactoryBean emfb =
new LocalContainerEntityManagerFactoryBean();
emfb.setDataSource(dataSource());
emfb.setPackagesToScan("com");
emfb.setJpaProperties(props);
emfb.setJpaVendorAdapter(adapter);
return emfb;
}
트랜잭션 관리자 및 DataSource 빈 정의
@Bean
public PlatformTransactionManager transactionManager(EntityManagerFactory emf) {
return new JpaTransactionManager(emf);
}
@Bean
public DataSource dataSource(){
return
(new EmbeddedDatabaseBuilder())
.addScript("classpath:schema.sql")
.addScript("classpath:data.sql")
.build();
}
저장소/DAO 정의
@Repository("accountRepository")
public class JpaAccountRepository implements AccountRepository {
@PersistenceContext
private EntityManager entityManager;
@Override
public Account findByNumber(String number) {
String jpql = "SELECT a FROM Account a where a.number = :number";
Account account = entityManager.createQuery(jpql, Account.class)
.setParameter("number", number).getSingleResult();
return account;
}
}
Reference
이 문제에 관하여(스프링이 있는 JPA), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://dev.to/eidher/jpa-with-spring-6il
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
@Bean
public LocalContainerEntityManagerFactoryBean entityManagerFactory() {
HibernateJpaVendorAdapter adapter = new HibernateJpaVendorAdapter();
adapter.setShowSql(true);
adapter.setGenerateDdl(true); // creating/updating tables (be careful)
adapter.setDatabase(Database.HSQL);
Properties props = new Properties();
props.setProperty("hibernate.format_sql", "true");
LocalContainerEntityManagerFactoryBean emfb =
new LocalContainerEntityManagerFactoryBean();
emfb.setDataSource(dataSource());
emfb.setPackagesToScan("com");
emfb.setJpaProperties(props);
emfb.setJpaVendorAdapter(adapter);
return emfb;
}
@Bean
public PlatformTransactionManager transactionManager(EntityManagerFactory emf) {
return new JpaTransactionManager(emf);
}
@Bean
public DataSource dataSource(){
return
(new EmbeddedDatabaseBuilder())
.addScript("classpath:schema.sql")
.addScript("classpath:data.sql")
.build();
}
저장소/DAO 정의
@Repository("accountRepository")
public class JpaAccountRepository implements AccountRepository {
@PersistenceContext
private EntityManager entityManager;
@Override
public Account findByNumber(String number) {
String jpql = "SELECT a FROM Account a where a.number = :number";
Account account = entityManager.createQuery(jpql, Account.class)
.setParameter("number", number).getSingleResult();
return account;
}
}
Reference
이 문제에 관하여(스프링이 있는 JPA), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://dev.to/eidher/jpa-with-spring-6il
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
@Repository("accountRepository")
public class JpaAccountRepository implements AccountRepository {
@PersistenceContext
private EntityManager entityManager;
@Override
public Account findByNumber(String number) {
String jpql = "SELECT a FROM Account a where a.number = :number";
Account account = entityManager.createQuery(jpql, Account.class)
.setParameter("number", number).getSingleResult();
return account;
}
}
Reference
이 문제에 관하여(스프링이 있는 JPA), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://dev.to/eidher/jpa-with-spring-6il텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)