当前位置: 首页 > 知识库问答 >
问题:

为什么在创建学生时会创建方向?

米楚青
2023-03-14

有ManyToOne链接的表。每个学生被分配一个方向从教育方向。当我创建学生时,所选方向被重新创建。为什么在创建学生时创建方向?
学生:

@Entity
public class Student {

    @Id
    @GeneratedValue(strategy = GenerationType.IDENTITY)
    private int id;

    @NotEmpty(message = "Введите имя!")
    @Size(min = 2, max = 50, message = "Максимально допустимая длина 50!")
    private String name;

    @NotEmpty(message = "Введите фамилию!")
    @Size(min = 2, max = 50, message = "Максимально допустимая длина 50!")
    private String surname;

    @NotEmpty(message = "Введите отчество!")
    @Size(min = 2, max = 50, message = "Максимально допустимая длина 50!")
    private String patronymic;

    @ManyToOne(cascade = CascadeType.ALL, fetch = FetchType.EAGER)
    @JoinColumn(name = "direction_id")
    private EducationDirections educationDirection;
    //getters and setters

教育方向:

@Entity
public class EducationDirections {

   @Id
   @GeneratedValue(strategy = GenerationType.IDENTITY)
   private int id;

   @NotEmpty
   private String program;

   @OneToMany(mappedBy = "educationDirection", cascade = CascadeType.ALL)
   private List<Student> students;
   //getters and setters

学生道:

@Component
public class StudentDAO {

    private final SessionFactory sessionFactory;

    public StudentDAO(SessionFactory sessionFactory) {
        this.sessionFactory = sessionFactory;
    }

    @Transactional
    public void create (Student student) {
        Session session = sessionFactory.getCurrentSession();
        session.save(student);
    }
}

共有1个答案

寇照
2023-03-14

保存将级联到关联的方向。

https://stackoverflow.com/a/15226592

https://vladmihalcea.com/a-beginners-guide-to-jpa-and-hibernate-cascade-types/

 类似资料:
  • 我正在使用 https://github.com/OpenAPITools/openapi-generator 为我的应用编程接口创建一个客户端。它基本上工作正常,但是生成器创建了许多类型,这些类型封装了包括任何复杂性类型的参数,例如、、 例如 其中InlineObject11定义为 这有什么意义?为什么生成的客户端不接受流再平衡贸易文件(Stream rebalanceTradeFile),而不

  • 问题内容: 我的老师给我一个问题: “用Java创建对象时会发生什么”。 据我所知,创建对象时会发生内存分配,变量初始化和构造函数方法调用。 但是我的老师说我几乎是对的。后面的两件事是正确的,除了内存堆。相反,他说发生了内存分配。我认为对象存储在堆中,所以我的老师错了。你这样认为吗? 问题答案: 与往常一样,找到针对此类问题的解决方案的最佳位置是Java语言规范。 具体来说,从创建新实例的部分可以

  • 当我用main方法为类创建对象时会发生什么?我能在main方法中使用这些实例变量吗,因为它们在同一个类中?

  • 我正在创建一个需要一组玩家的应用程序。我使用团队ID作为每个球员的团队主键和外键。在一个片段中,我创建了一个新团队。创建团队并将其添加到我的房间数据库时,它最初的ID为0或未设置,即使我已将“自动生成”设置为true。然后,我导航到团队花名册视图,该视图能够向团队添加新球员。当我创建新玩家并在团队视图模型中使用新团队ID时,团队ID仍然为0或未设置,因此应用程序崩溃,外键约束失败。崩溃后,如果我重

  • 每一个国家的都有其特殊国情,主要是原因是中国的网络太慢,及中国存在大量老旧的计算机,它们预装着window XP,IE浏览器最高只能升级到IE8, 出于这两方面的原因,我们需要一个体积更少,兼容性更好的React。并且之前facebook也闹过LICENSE问题,更是促进中国互联网公司决定自主研发框架,努力摆脱对外国框架的依赖。 对于我们公司而言,一个旅游公司, 在线上订火车票,飞机票, 景点门票

  • 问题内容: 我了解JSON,但不了解JSONP。Wikipedia上有关JSON的文档是JSONP的最高搜索结果。它说: JSONP或“带填充的JSON”是JSON扩展,其中将前缀指定为调用本身的输入参数。 ??什么电话 这对我来说毫无意义。JSON是一种数据格式。没有电话 在第二个搜索结果是由某些人叫雷米,谁写的这个约JSONP: JSONP是脚本标记注入,它将响应从服务器传递到用户指定的函数。