我使用spring-boot并尝试将新对象持久保存到db但没有任何反应。我为另一个实体获得了相同的方法并且它的工作原理。有什么建议?
实体:
@Entity
@Table(name = "subject")
public class Subject implements Serializable{
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
private int id;
@Column(name = "name")
private String name;
@OneToMany(mappedBy = "subject")
private Set<Question> questions =new HashSet<>();
DAO:
import org.springframework.transaction.annotation.Transactional;
@Autowired
private EntityManager entityManager;
@Repository
@Transactional
public class QuestionDaoImpl implements QuestionDao {
public void createNewSubjectByName(String name) {
Subject subject = new Subject();
subject.setName(name);
entityManager.persist(subject);
}
答案 0 :(得分:-1)
@Transactional
public Subject createNewSubjectByName(String name) {
EntityManager entityManager = entityManagerFactory.createEntityManager();
Subject subject = new Subject();
subject.setName(name);
entityManager.getTransaction().begin();
entityManager.persist(subject);
entityManager.flush();
entityManager.getTransaction().commit();
entityManager.close();
return subject;
}