<dependency>
<groupId>org.beangle.orm</groupId>
<artifactId>beangle-orm-parent</artifactId>
</dependency>
spring.datasource.url=jdbc:h2:~/testdb
spring.datasource.username=sa
spring.datasource.password=
spring.datasource.driver-class-name=org.h2.Driver
@Entity
@Table(name = "user")
public class User {
@Id
@GeneratedValue(strategy = GenerationType.AUTO)
private Long id;
@Column(name = "name")
private String name;
// Getters and setters
}
@Repository
public class UserRepository {
@PersistenceContext
private EntityManager entityManager;
public User save(User user) {
entityManager.persist(user);
return user;
}
public List<User> findAll() {
CriteriaBuilder cb = entityManager.getCriteriaBuilder();
CriteriaQuery<User> cq = cb.createQuery(User.class);
Root<User> root = cq.from(User.class);
cq.select(root);
Query query = entityManager.createQuery(cq);
return query.getResultList();
}
public User findById(Long id) {
return entityManager.find(User.class, id);
}
}
@Service
public class UserService {
@Autowired
private UserRepository userRepository;
@Transactional
public User createUser(String name) {
User user = new User();
user.setName(name);
return userRepository.save(user);
}
}