@Entity
@Table(name = "user")
public class User {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
private Long id;
@Column(name = "name")
private String name;
}
@Repository
public interface UserDao extends JpaRepository<User, Long> {
List<User> findByName(String name);
}
@Service
public class UserService {
@Autowired
private UserDao userDao;
@Transactional
public User saveUser(User user) {
return userDao.save(user);
}
public List<User> getUsersByName(String name) {
return userDao.findByName(name);
}
}
@Configuration
@EnableJpaRepositories(basePackages = "com.example.dao")
@EnableTransactionManagement
public class AppConfig {
@Bean
public DataSource dataSource() {
}
@Bean
public LocalContainerEntityManagerFactoryBean entityManagerFactory(DataSource dataSource) {
}
@Bean
public PlatformTransactionManager transactionManager(EntityManagerFactory entityManagerFactory) {
}
}