在我当前的 spring-boot 应用程序中,我有这个休眠配置:
# jdbc.X
spring.datasource.driverClassName=org.postgresql.Driver
spring.datasource.url=jdbc:postgresql://localhost:5432/mystore?charSet=LATIN1
spring.datasource.username=klebermo
spring.datasource.password=123
# hibernate.X
spring.jpa.database-platform=org.hibernate.dialect.PostgreSQLDialect
spring.jpa.dialect=org.hibernate.dialect.PostgreSQLDialect
spring.jpa.show-sql=false
spring.jpa.hibernate.ddl-auto=create-drop
它创建数据库表并从中插入数据data.sql
没有问题,但是当我尝试通过视图插入或更新实体时,尽管没有触发错误,但没有插入数据。
来自表单的提交由我的控制器的以下方法处理:
@RequestMapping(value = "cadastra", method=RequestMethod.POST)
@ResponseBody
public void cadastra(@ModelAttribute("object") E object, BindingResult result) {
serv.cadastra(object);
}
@RequestMapping(value = "altera", method=RequestMethod.POST)
@ResponseBody
public void altera(@ModelAttribute("object") E object, BindingResult result) {
serv.altera(object);
}
@RequestMapping(value = "remove", method=RequestMethod.POST)
@ResponseBody
public void remove(@ModelAttribute("object") E object, BindingResult result) {
serv.remove(object);
}
在我的服务课程中,我有:
@PreAuthorize("hasPermission(#user, 'cadastra_'+#this.this.name)")
@Transactional
public void cadastra(E object) {
dao.insert(object);
}
@PreAuthorize("hasPermission(#user, 'altera_'+#this.this.name)")
@Transactional
public void altera(E object) {
dao.update(object);
}
@PreAuthorize("hasPermission(#user, 'remove_'+#this.this.name)")
@Transactional
public void remove(E object) {
dao.delete(object);
}
在我的 dao 课上:
@Transactional
public void insert(E object) {
getEntityManager().persist(object);
}
@Transactional
public void update(E object) {
getEntityManager().merge(object);
}
@Transactional
public void delete(E object) {
getEntityManager().remove(object);
}
任何人都可以看到这里有什么问题?