[英]"BasicBatchConfigurer" has protected access - Spring Batch/Spring Boot not persisting data to database
[英]Data not persisting to Database Spring Boot hibernate
我正在嘗試更新一個名為User的實體,盡管成功地對用戶對象進行了更改,但是當我嘗試將用戶(通過update方法)保存到數據庫時,它不會持久存在。 該類的其他功能也可以使用,例如get()。 沒有例外出現。
-----------------------------AbstractDAOImpl.class-----------------------------------
@Transactional
@Repository
public abstract class AbstractDaoImpl<T> {
private static final Logger LOG = Logger.getLogger(StockController.class);
private Class currentClass;
@PersistenceContext(type = PersistenceContextType.EXTENDED)
protected EntityManager entityManager;
protected void setThisClass(Class currentClass) {
this.currentClass = currentClass;
}
@SuppressWarnings("unchecked")
public T get(String id) {
return (T) entityManager.find(currentClass, id);
}
public void delete(String id) {
entityManager.remove(get(id));
}
public void update(T t) {
entityManager.merge(t);
entityManager.flush();
}
@SuppressWarnings("unchecked")
public List list(String tableName) {
return entityManager.createQuery("from " + tableName, currentClass).getResultList();
}
}
------------------------Application.properties------------------------
spring.datasource.driver-class-name=oracle.jdbc.driver.OracleDriver
spring.datasource.username=SYSTEM
spring.datasource.password=password
spring.datasource.url=jdbc:oracle:thin:@localhost:1521:XE
spring.jpa.database-platform=Oracle11gDialect
spring.datasource.type=org.apache.tomcat.jdbc.pool.DataSource
spring.jpa.show-sql=true
spring.jpa.hibernate.ddl-auto=update
spring.jpa.hibernate.naming.strategy=org.hibernate.cfg.ImprovedNamingStrategy
spring.jpa.properties.hibernate.dialect=org.hibernate.dialect.Oracle8iDialect
spring.resources.static-locations=file:src/main/resources/
spring.resources.cache-period=0
spring.thymeleaf.cache=false
spring.http.converters.preferred-json-mapper=jackson
security.basic.enabled=false
security.headers.content-type=true
security.enable-csrf=true
security.basic.path=/**
我已經進行了各種嘗試來實現此處列出的其他修復程序,但是沒有碰到任何麻煩,包括從實體管理器開始進行事務處理,並以介於兩者之間的update()當前內容結束事務。 如果需要其他信息(例如實體類),請告訴我,我將對其進行編輯。
問題不是我的User對象沒有被保留,而是它里面的另一個實體館藏的列表不是。 為了解決這個問題,我像這樣在一對多注釋屬性列表中添加了cascade=CascadeType.ALL
。
@OneToMany(mappedBy = "user", cascade= CascadeType.ALL)
private List<UserHolding> holdings;
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.